Design support system
The design support system addresses tag placement, terrain analysis, interference calculation, and data organization issues in BIM software, enhancing design quality and efficiency through automated solutions.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- GAIA ARCHITECT SYDNEY PTY LTD
- Filing Date
- 2025-12-18
- Publication Date
- 2026-06-30
AI Technical Summary
Conventional BIM software faces issues with accurate tag placement on complex shapes, display flicker in terrain analysis, complex interference calculations, inconsistent area calculations, and unsafe data organization, leading to inefficiencies in design operations.
A design support system that automates tag placement on complex shapes, performs high-visibility terrain analysis, quantitatively calculates interference, unifies area calculations, and securely organizes data using selection, calculation, and movement means, along with gradient analysis and two-dimensional conversion techniques.
Improves design quality and efficiency by accurately placing tags, preventing display distortion, quantitatively calculating interference, unifying calculation accuracy, and securely managing data, thereby reducing manual adjustments and data inconsistencies.
Smart Images

Figure 2026108604000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a system for assisting in the design of architecture, structures, facilities, etc. In particular, it relates to a design support system suitable for automating work in design operations using BIM (Building Information Modeling) software, improving analysis accuracy, and enhancing data management efficiency.
Background Art
[0002] Conventionally, in the field of architectural design, BIM software that constructs a three-dimensional model of a building and centrally manages information from design to construction and maintenance management has been widely used. As a representative example of this type of software, "Revit (registered trademark)" of Autodesk is known. In advanced BIM software such as Revit, an API (Application Programming Interface) is publicly available so that users can expand functions according to specific business needs (see, for example, Non-Patent Document 1).
[0003] Designers develop their own plug-ins (add-in programs) using this API to automate complex shape processing that cannot be handled by standard functions and repetitive routine work, thereby improving work efficiency.
Prior Art Documents
Non-Patent Documents
[0004]
Non-Patent Document 1
Summary of the Invention
[0005] However, conventional technologies such as those described above (standard BIM functions and existing API utilization technologies) still had the following specific problems in the details of design practice.
[0006] Firstly, when it comes to placing room tags, if the room has a complex shape with "holes (internal boundaries)" such as courtyards or pipe spaces, simple geometric centroid calculations can result in tags being placed outside the room's boundaries (e.g., inside holes), requiring manual correction by the designer.
[0007] Secondly, in the gradient analysis of terrain surfaces, when displaying the color-coded geometry representing the analysis results on a 3D model, the original terrain surface and the analysis geometry overlap on the same coordinate system, causing display flicker (Z-fighting) and significantly reducing visibility.
[0008] Thirdly, while it is possible to visually confirm interference between tree protection areas and roads, etc., in three-dimensional space, accurately and quickly calculating the two-dimensional interference area ratio is computationally complex, making it difficult to obtain the quantitative data necessary for environmental assessment, etc.
[0009] Fourthly, in creating area calculation diagrams (area area calculation), there was a lack of functionality to automatically generate appropriate calculation formulas according to the shape of the area (rectangle, trapezoid, arc, etc.), and because numerical rounding settings were not standardized throughout the project, inconsistencies often occurred between the calculation results and the displayed results.
[0010] Fifth, when deleting unnecessary annotation types, there was a risk of accidentally deleting types that were in use, and a safe and comprehensive method for organizing data while checking dependencies was needed.
[0011] Therefore, the present invention has been made in view of the unresolved issues of the conventional technology, and aims to provide a design support system that automates tag placement on complex shapes, highly visible terrain analysis, quantitative interference calculation, unified area calculation processing, and secure data organization, thereby significantly improving design quality and operational efficiency. [Means for solving the problem]
[0012] [Invention 1] To achieve the above objective, the design support system of Invention 1 comprises a selection means for pre-selecting all room tags, and a calculation means for calculating the center of gravity from the plan shape of the parent room of each room tag selected by the selection means using a predetermined calculation formula, in the following manner.
[0013] Here, this system may be implemented as a single device, apparatus, terminal, or other device, or as a network system in which multiple devices, apparatus, terminals, or other devices are connected in a communicative manner. In the latter case, each component may belong to any of the multiple devices, as long as they are connected in a communicative manner. The same applies hereafter to the design support systems of Inventions 2 to 5 and 7.
[0014] [Invention 2] On the other hand, in order to achieve the above objective, the design support system of Invention 2 is a design support system that supports the creation of architectural drawings on CAD software, and comprises: selection means for selecting all target room tags; centroid calculation means for obtaining boundary segments of room elements associated with each room tag selected by the selection means, identifying the shape of the outer boundary and the shape of the hole which is the inner boundary, and calculating the geometric centroid position of the room element; determination means for determining whether the calculated centroid position is included within the area of the room element; and movement means for determining the centroid position as the destination of the room tag if the determination means determines that the centroid position is included within the area, or an insertion point set in advance on the room element if it is determined that the centroid position is included outside the area, and moving the room tag to the destination.
[0015] In this configuration, the selection means selects all target room tags, and the centroid calculation means identifies the outer boundary and hole shape of the room element associated with each room tag to calculate the geometric centroid position. Then, the determination means performs an inclusion determination to determine whether the calculated centroid position is included within the area of the room element, and the movement means determines either the centroid position or the insertion point as the destination based on the determination result, and the room tag is automatically moved to that destination.
[0016] Here, acquisition (or acquisition of information in shape acquisition means, usage type identification means, etc.) may, for example, be input from an input device, acquired or received from an external terminal, read from a storage device or storage medium, or generated or calculated by information processing. Therefore, acquisition includes at least input, acquisition, reception, reading (including retrieval), generation, and calculation. The concept of acquisition remains the same hereafter.
[0017] Furthermore, information (room element information, tag information, setting values, etc.) can be structured, for example, as information for identifying an object (e.g., name, number, ID, code, link information such as URL), or as feature information relating to an overview of an object, statistics, or other characteristics. Information can also be structured, for example, as characters, numbers, figures, codes, symbols, images, audio, or other information.
[0018] Furthermore, the display means (display unit) in this system can be, for example, a liquid crystal display or an organic EL (Electro-Luminescence) display, and the operating means (operating unit) can be, for example, a keyboard, mouse, touch panel, or physical buttons. In addition, the communication means (communication unit) can be, for example, wireless communication technologies such as Wi-Fi and Bluetooth®, or wired communication technologies such as Ethernet®.
[0019] [Invention 3] On the other hand, in order to achieve the above objective, the design support system of Invention 3 comprises: a gradient analysis means that calculates a normal vector for each of a plurality of polygon meshes constituting a terrain surface element and calculates a gradient value based on the angle between the normal vector and a vertical vector; a color determination means that determines whether the calculated gradient value is within a predetermined threshold range and determines a display color according to the determination result; and a display means that generates an analysis geometry corresponding to the polygon mesh and assigns the determined display color to the analysis geometry for display. When the display means displays the analysis geometry, it adds a predetermined offset value to the height coordinate of the analysis geometry and positions it in order to prevent display interference with the terrain surface element.
[0020] In this configuration, the gradient analysis means calculates a normal vector for each of the multiple polygon meshes that make up the terrain surface element, and the gradient value is calculated based on the angle it makes with the vertical vector. The color determination means then determines whether the calculated gradient value is within a predetermined threshold range and determines the display color. The display means generates the analysis geometry and assigns the display color, and a predetermined offset value is added to the height coordinates to prevent display interference (Z-fighting, etc.) with the terrain surface element and position it accordingly.
[0021] [Invention 4] On the other hand, in order to achieve the above objective, the design support system of Invention 4 comprises: shape acquisition means for acquiring the shape of a protective area set on a tree element and the shape of a road element; two-dimensional conversion means for projecting the shape of the protective area and the shape of the road element onto a predetermined plane and converting them into two-dimensional figures; interference calculation means for performing a Boolean operation on the converted two-dimensional figure of the protective area and the two-dimensional figure of the road element to generate an interference region figure which is the intersection of the two; and output means for calculating the ratio of the area of the interference region figure to the area of the two-dimensional figure of the protective area and outputting it as an interference rate.
[0022] With such a configuration, the shape of the protection area set for the tree element and the shape of the road element are acquired by the shape acquisition means, and each shape is projected onto a predetermined plane by the two-dimensionalization means and converted into a two-dimensional figure. Then, a Boolean operation (such as an intersection operation) is performed on the two-dimensional figure of the protection area and the two-dimensional figure of the road element by the interference calculation means to generate a figure of the interference area, and the ratio of the area of the interference area to the area of the protection area is calculated by the output means and output as the interference rate.
[0023] 〔Invention 5〕 On the other hand, in order to achieve the above object, the design support system of Invention 5 includes a shape identification means for identifying whether the shape of an area element in a drawing corresponds to any of the basic shapes of a rectangle, a parallelogram, a triangle, a trapezoid, a circle, or a segment using geometric determination with a predetermined tolerance value, an area calculation means for calculating the area of the area element using a calculation formula corresponding to the identified basic shape, and a string generation means for generating a basis formula string indicating the basis of the area calculation based on the dimensions of each side of the area element and the calculated area. The string generation means acquires a rounding setting or a display format setting of a numerical value from global parameters stored in the project, and assembles the basis formula string by format-converting the numerical values of the dimensions and the area based on the setting.
[0024] With such a configuration, the shape identification means identifies by geometric determination with a predetermined tolerance value (Tolerance) which basic shape the shape of the area element corresponds to, and the area is calculated using a calculation formula corresponding to the basic shape identified by the area calculation means. Then, the string generation means acquires a rounding setting or a display format setting of a numerical value from global parameters stored in the project, and assembles a basis formula string by format-converting the numerical values of the dimensions and the area based on the setting.
[0025] [[Invention 6]] Further, the design support system of Invention 6, in the design support system of Invention 5, includes parameter setting means for accepting setting of calculation parameters including rounding setting or display format setting of numerical values, and storing the set values as global parameters that can be shared among elements within a project. The setting operation by the parameter setting means and the calculation operations by the shape specifying means, the area calculating means, and the character string generating means are coordinated via the global parameters.
[0026] With such a configuration, setting of calculation parameters including rounding setting or display format setting of numerical values is accepted by the parameter setting means and stored as global parameters that can be shared among elements within a project. Then, via this global parameter, the setting operation by the parameter setting means and the calculation operations by the shape specifying means, the area calculating means, and the character string generating means are executed in coordination.
[0027] [[Invention 7]] On the other hand, in order to achieve the above object, the design support system of Invention 7 includes usage type specifying means for scanning all annotation elements existing within a project and creating a first list of currently used annotation types, loading type specifying means for creating a second list of all annotation types loaded within the project, difference extraction means for extracting annotation types included in the second list and not included in the first list as deletion candidates, and deletion execution means for performing verification of whether deletion is possible or exception handling during deletion execution for the annotation types that are deletion candidates, and then deleting them in a batch from the project.
[0028] With such a configuration, a first list of currently used annotation types within a project is created by the usage type specifying means, and a second list of all annotation types loaded is created by the loading type specifying means. Then, annotation types included in the second list and not included in the first list are extracted as deletion candidates by the difference extraction means, and after verification of whether deletion is possible or exception handling is performed by the deletion execution means, they are deleted in a batch from the project. [Effects of the Invention]
[0029] As explained above, the design support systems of Inventions 1 and 2 can automatically detect when the center of gravity falls outside the area and place tags in the appropriate location, even when room elements include complex shapes such as "holes". This eliminates the need for designers to manually adjust the position of each tag, significantly improving the efficiency of drawing creation.
[0030] On the other hand, according to the design support system of Invention 3, when displaying the gradient analysis results of the terrain surface, the analysis geometry is placed slightly above the terrain surface, thus preventing display distortion due to overlap (Z-fighting). As a result, designers can intuitively and clearly grasp the steep slopes of the terrain.
[0031] On the other hand, according to the design support system of Invention 4, by projecting the three-dimensional shapes of the tree protection area and roads, etc., onto a two-dimensional plane and performing Boolean operations, it is possible to quantitatively calculate the accurate interference rate (area ratio) even in cases of interference between complex shapes.
[0032] On the other hand, the design support systems of Inventions 5 and 6 can automatically determine the shape of an area and create an appropriate formula for calculating area, and can also centrally manage rounding settings and other parameters used in calculations as global parameters. This enables the unification of calculation accuracy across the entire project and the automation of creating calculation basis formulas.
[0033] On the other hand, according to the design support system of Invention 7, unnecessary annotation types that are not used in the project can be accurately identified based on the extraction of differences in usage and safely deleted in bulk. This makes it easy to reduce the size of project data and maintain a standardized environment. [Brief explanation of the drawing]
[0034] [Figure 1] This figure shows the hardware configuration of the drawing creation support device 100. [Figure 2] This is a block diagram showing the processing of the "Tag Center of Gravity Movement" plugin. [Figure 3] This is a formula for calculating the center of gravity of a room. [Figure 4] This block explains the processing of the "DWG Link Details" plugin. [Figure 5] This is a block diagram showing the processing for the plugin "Display detailed lines in the view". [Figure 6] This is a block of images showing the processing of the "Unify Character Type Font" plugin. [Figure 7] This is a block diagram showing the process for the plugin "Bulk Delete Unused Annotation Types". [Figure 8] This block outlines the process of the "View Template Detection" plugin. [Figure 9] This is a block diagram showing the processing of the plugin "Topography Steepness Indicator (Gradient Analysis of Various Parts of the Terrain Surface)". [Figure 10] This is a diagram showing the vectors on a sloped surface. [Figure 11] This is a block diagram showing the processing of the plugin "Tree Protection Zone Interference Checker". [Figure 12] This is a block diagram showing the processing steps of the plugin "Tree Instance Information Export to / Import from Excel (Registered Trademark)". [Figure 13] This is the screen for setting parameters. [Figure 14] This is a block diagram showing the processing of the "Parameter Settings" plugin. [Figure 15] This is a block diagram showing the processing steps for the plugin "Area Area and Rationale Calculation". [Figure 16] This is a diagram showing verifiable shapes. [Modes for carrying out the invention]
[0035] The embodiments of the present invention will be described below. Figures 1 to 16 show these embodiments.
[0036] This embodiment describes the following 11 plugins. 1. Tag center of gravity shift 2. DWG Link Details 3. Displaying detailed line segments in the view 4. Unify the font type. 5. Bulk deletion of unused annotation types 6. Detecting View Templates 7. Slope analysis of various points on the terrain surface (Topography Steepness Indicator) 8. Tree Protection Zone Interference Checker 9. Exporting and Importing Tree Instance Information to / from Excel 10. Parameter settings 11. Calculation of area and supporting formula [Configuration of this embodiment] First, the configuration of this embodiment will be described.
[0037] Figure 1 shows the hardware configuration of the drawing creation support device 100. As shown in Figure 1, the drawing creation support device 100 consists of a CPU (Central Processing Unit) 30 that controls calculations and the entire system based on a control program, a ROM (Read Only Memory) 32 that stores the control program for the CPU 30 in a predetermined area, a RAM (Random Access Memory) 34 for storing data read from the ROM 32 and other memory, as well as calculation results necessary for the calculation process of the CPU 30, and an I / F (Interface) 38 that mediates data input and output to external devices. These components are connected to each other and enable data exchange via a bus 39, which is a signal line for data transfer.
[0038] I / F38 is connected to an external device, which includes an input device 40 consisting of a keyboard and mouse that can input data as a human interface, a storage device 42 that stores data and tables as files, and a display device 44 that displays a screen based on an image signal.
[0039] The storage device 42 has CAD (Computer-Aided Design) software and Revit and other BIM software (hereinafter collectively referred to as "CAD software") installed on it. CAD software is software that assists in the creation of drawings according to the designer's operations. When the startup of CAD software is requested, the CPU 30 starts the program for the CAD software stored in a predetermined area of the ROM 32 and executes processing according to that program. The designer can start the CAD software and create cross-section drawings, floor plan details, and other architectural drawings.
[0040] In this embodiment, the processing of each plugin is performed via an API (Application Programming Interface) provided by the CAD software (e.g., Revit). The CPU 30 performs filtering of elements, reading and writing of parameters, and analysis of geometry on the project model, which serves as a database. Specifically, when extracting target elements (room tags, trees, line segments, etc.), the CPU 30 uses the filtering function of the API (e.g., the "FilteredElementCollector" class) to specify categories and classes, efficiently obtaining a set of target elements from the project database. Furthermore, processes that modify information within the model (moving, deleting, creating elements, updating parameters, etc.) are executed within a transaction to maintain the integrity of the database.
[0041] [1. Tag center of gravity shift] Next, we will explain the structure of the plugin "Tag Center of Gravity Movement" (hereinafter referred to as "this plugin" in item 1).
[0042] Figure 2 is a block diagram showing the processing of the plugin "Tag Center of Gravity Movement". Figure 3 shows the formula for calculating the center of gravity of a room.
[0043] This plugin moves the room tag to the center of gravity of the room. The instructions for using this plugin are as follows:
[0044] (1) Click the command button. (2) The location of room tags throughout the project is automatically moved to the center of gravity of the room.
[0045] The CPU 30 starts the program for the CAD software stored in a predetermined area of the ROM 32 and executes the processing of this plugin according to that program. The processing of this plugin (Figure 2) (hereinafter referred to as "this processing" in item 1) is as follows.
[0046] This process pre-selects all room tags. Next, using the formula in Figure 3, the centroid is calculated from the planar shape of the parent room of each room tag using the following method of determining the centroid.
[0047] In the calculation formula in Figure 3, the variables are as follows: Cx, Cy = x and y coordinates of the global centroid C = the centroid of the overall shape (without holes) and the shape of each hole, x is its x-coordinate, and y is its y-coordinate. A = Area of the overall shape (without holes) and the area of each individual hole. (In the case of a hole, you would multiply its area and coordinates by -1.) i = number of shapes However, it's also possible that the room has a hole in it.
[0048] The plan geometry of a room in Revit is made up of boundary segments, with the first boundary being the overall boundary and the others being the boundaries of holes. In other words, if there are three boundary segments, the first one is the overall boundary, and the other two are the boundaries of holes. Technically, this geometry is understood by obtaining a list of boundary segments of the room element via the API.
[0049] Therefore, the above calculation formula involves subtracting the area of the hole from the area of the overall boundary. This creates the centroid point (Cx, Cy), which becomes the destination point for the tags that refer to each room.
[0050] The centroid (Cx,Cy) is calculated for all these boundaries, but sometimes the centroid falls inside a hole. If the room's insertion point is not inside the room, the room will recognize another boundary, and the command's purpose will be lost. Therefore, this process performs an inclusion check (Point-in-Polygon test, or a check method such as "IsPointInRoom" provided by the API) to determine whether the calculated centroid (Cx,Cy) is included within the room's area. If the check determines that the centroid is outside the room's area (inside a hole or outside the room), the actual room's insertion point (LocationPoint) is used as the destination point for the tag instead of using the calculated centroid.
[0051] *A "hole in a room" refers to a smaller room within a larger room, or a space enclosed by walls or room boundaries. You can visually identify these holes when selecting a room in Revit.
[0052] [2. DWG Link Details] Next, we will explain the structure of the plugin "DWG Link Details" (hereinafter referred to as "this plugin" in item 2).
[0053] Figure 4 is a block diagram showing the processing of the "DWG Link Details" plugin. This plugin allows you to view details of DWG import instances within a project. Specifically, it determines whether a link in DWG data is being imported and displays which view it is located in.
[0054] The instructions for using this plugin are as follows: (1) Simply click the command button.
[0055] (2) Check the information on the displayed screen. (3) Once you have finished checking, press the "OK" button to close the screen.
[0056] This plugin imports all DWG data in the currently open project in Revit, allowing you to see on screen how instances are positioned and which views are using them.
[0057] The CPU 30 starts the program for the CAD software stored in a predetermined area of the ROM 32 and executes the processing of this plugin according to that program. The processing of this plugin (Figure 4) (hereinafter referred to as "this processing" in item 2) is as follows.
[0058] If a Revit project contains a DWG import instance, its properties or parameters can be used to determine its name, link status, and the likely view or level where it is located. This information can then be output to a table.
[0059] The location is how the instance is inserted, which the user must decide at the time of insertion. If "Current View Only" is selected, the location will be the view. If not "Current View Only," it will be placed at the level of the inserted view. Specifically, this process refers to the properties of each instance (for example, the "ViewSpecific" attribute). If this attribute is true, the instance belongs only to a specific view, so it is determined to be "Current View Only." On the other hand, if it is false, the instance is a 3D model element, so the ID of the level that serves as the placement basis (LevelId) is obtained, and that level name is identified as the location. In addition, regarding the link status, the external reference path information (ExternalFileReference) is accessed to obtain the link's loading status and path type.
[0060] The table on the screen displays all the DWG instances that have been retrieved by this process. This allows the user to understand the status of each DWG instance.
[0061] [3. Displaying detailed line segments in the view] Next, we will explain the structure of the plugin "Display Detail Lines in Views" (hereinafter referred to as "this plugin" in item 3).
[0062] Figure 5 is a block diagram showing the processing of the plugin "Display Detail Lines in View". This plugin displays information about the line segments currently in the view.
[0063] The plugin is used as follows: (1) Click the command button. (2) On the displayed screen, confirm the name of the view, select from the line group dropdown menu from "Model lines and detail lines, room boundaries, area boundaries," and update the list box with a list of line information related to the selected item.
[0064] (3) Clicking on each item in the list will display further information such as "Line Type Pattern" and "Subcategory".
[0065] (4) Once you have finished checking, press the "OK" button to close the screen. The CPU 30 starts the program for the CAD software stored in a predetermined area of the ROM 32 and executes the processing of this plugin according to that program. The processing of this plugin (Figure 5) (hereinafter referred to as "this processing" in item 3) is as follows.
[0066] This process retrieves instances of line segments within the "Model Line Segments," "Detail Line Segments," "Room Boundaries," and "Area Boundaries" categories of the project and lists them in their respective groups. Regardless of the group, it collects the "Name, ID, Line Type Name, and Subcategory Name" from all line segments and sends them to the screen. Note that this process combines the Name and ID, but the Line Type Name and Subcategory Name remain separate.
[0067] Next, the grouped line segment information is sent to the screen, and the combined name and ID are displayed in a tree view table. When the user clicks on an item, the line type name and subcategory name are further displayed.
[0068] [4. Unify the font type] Next, we will explain the structure of the plugin "Unify Character Type Fonts" (hereinafter referred to as "this plugin" in item 4).
[0069] Figure 6 is a block of images showing the processing of the "Unify Character Type Font" plugin. This plugin unifies the font of all text annotation types. Specifically, it unifies the font of all text annotation types to the selected font.
[0070] The plugin is used as follows: (1) Click the command button. (2) From the top of the screen, select one of the system fonts from the dropdown menu.
[0071] (3) At the bottom of the screen, check the box to the left of the text annotation type for which you want to replace the font you selected earlier. Note that pressing the "Check All" button will check all types, and pressing the "Deselect All" button will deselect all checked items.
[0072] (4) After confirmation, press the "OK" button to start replacing the font. This plugin allows you to select a font on the screen, and the program will then use that font for all text annotation types.
[0073] The CPU 30 starts the program for the CAD software stored in a predetermined area of the ROM 32 and executes the processing of this plugin according to that program. The processing of this plugin (Figure 6) (hereinafter referred to as "this processing" in item 4) is as follows.
[0074] This process first retrieves the system font and then all the character annotation types in the project. The respective UI elements are then displayed on the screen (font collection in a dropdown menu, and character annotation types in a list view).
[0075] To enable all text annotation types to be selected via checkboxes, this process collects the information for each type in a list using a dedicated class that includes properties such as ID, Name, and Check Status, and sends it to the screen. Currently, the check status for all items is set to "No".
[0076] When a user checks an item on the screen, the checked status of that item is set to "Yes".
[0077] Then, when the user presses the "OK" button on the screen, this process checks each item in the list created by the dedicated class mentioned above. If the checked value of an item is "Yes", the text annotation type is opened as an element in Revit using this item ID, the font parameters of this element are obtained, and the selected font is replaced. The replacement sets the font parameter value to the selected font.
[0078] [5. Bulk deletion of unused annotation types] Next, we will explain the structure of the plugin "Bulk Deletion of Unused Annotation Types" (hereinafter referred to as "this plugin" in item 5).
[0079] Figure 7 is a block diagram showing the process of the plugin "Bulk Delete Unused Annotation Types". This plugin detects and deletes unused line types, fill patterns, and dimension types in bulk. Specifically, it displays the target line types, fill patterns, and dimension types on the screen and then deletes them automatically. Occasionally, items that are still in use may be included, so caution is advised.
[0080] The plugin is used as follows: (1) Click the command button. (2) At the top of the displayed screen, select from the options "Line Type," "Fill Pattern," and "Dimension Type" using the radio buttons. Then, the list at the bottom of the screen will display the items that can be deleted. The user confirms these.
[0081] (3) After confirmation, press "OK" to proceed with the deletion. The CPU 30 starts the program for the CAD software stored in a predetermined area of the ROM 32 and executes the processing of this plugin according to that program. The processing of this plugin (Figure 7) (hereinafter referred to as "this processing" in item 5) is as follows.
[0082] This process collects all line segments, filled area elements, and dimensions within the project, and lists their respective types. Duplicate types are excluded. The types collected here are indicated as currently used types, and their IDs are recorded in the list.
[0083] Next, this process gathers and lists all line types, fill patterns, and dimension types into their respective groups. The types gathered here are those loaded into the project, some currently in use and others not. The IDs of these gathered types are also recorded in the list.
[0084] At this stage, the process compares the two lists. If an item in the first list is found in the second list, that item is removed from the second list. All items remaining in the second list after the comparison become items to be deleted.
[0085] To allow users to see the elements being considered for deletion on the screen, this process looks up the element using its ID, records the name of the element, sends it to a list for display on the screen, and then displays the screen.
[0086] Once the user has finished reviewing the information on the screen and pressed the "OK" button, this process will delete each item using a process within Revit. In this process, to handle cases where certain system types that are prohibited from being deleted by the system or types that have dependencies on other elements are included, exception handling (Try-Catch processing) is included, or verification of whether deletion is possible beforehand (checking for "CanBeDeleted," etc.) is performed to prevent process interruptions due to deletion failures and to ensure that only unused types that can be deleted are deleted.
[0087] [6. Detecting View Templates] Next, we will explain the structure of the plugin "View Template Detection" (hereinafter referred to as "this plugin" in item 6).
[0088] Figure 8 is a block diagram showing the processing of the plugin "Detect View Templates". This plugin displays a list of views to which a view template has been assigned.
[0089] The plugin is used as follows: (1) Click the command button. (2) All view templates and views within the project are displayed separately on the screen.
[0090] (3) Select an item to be used as a view template from the list on the left side of the screen, and all views currently using that item's view template will be displayed in the list on the right. The user can then review this information.
[0091] (4) After confirming, press the "OK" button to close the screen. The CPU 30 starts the program for the CAD software stored in a predetermined area of the ROM 32 and executes the processing of this plugin according to that program. The processing of this plugin (Figure 8) (hereinafter referred to as "this processing" in item 6) is as follows.
[0092] This process collects all view templates. Since each view template contains a lot of information, and to avoid burdening the command's functionality, only the name and integer ID of each view template are collected, and a dictionary named "Name, Integer ID" is created.
[0093] Next, each item in the collected view templates gathers all the views to be used as a view template, and a child list of the view template is set. In the child list, as above, an integer ID, which is one of the pieces of information in the view template, is used instead, and conversely, the name, which is the information in the view, is used instead. Thus, a dictionary is created that is "integer of view template ID, collection of target view names".
[0094] This view template collection and dictionary are sent to a confirmation screen and displayed in their respective lists.
[0095] When a user selects an item from the view template collection on the left side of the screen, the system searches for the selected item in the dictionary and retrieves its integer ID. This integer ID is then matched against "View Template ID Integer, Target View Name Collection," and the target view name collection whose parent ID integer is found is displayed in the list on the right.
[0096] [7. Slope analysis of various points on the topographic surface (Topography Steepness Indicator)] Next, we will explain the structure of the plugin "Topography Steepness Indicator" (hereinafter referred to as "this plugin" in item 7).
[0097] Figure 9 is a block diagram showing the processing of the plugin "Topography Steepness Indicator (Gradient Analysis of Each Location on the Terrain Surface)".
[0098] Figure 10 shows the vectors on the gradient surface. This plugin displays the gradient of each section of the terrain surface. Specifically, it checks how steep the gradient is at each point on the terrain surface and determines, using color, whether the gradient falls within a pre-set acceptable range. Based on this determination, it overlays colored geometry onto the terrain surface.
[0099] The plugin is used as follows: (1) Verify that the terrain surface is present in the view.
[0100] (2) Click the command button. (3) On the displayed screen, select one of the following from "Gradient Units": "1 / 12 (for people)", "1 / 8 (for cars)", or "Other 1 / X", and press the "OK" button.
[0101] (4) As a result, the segmented polygonal surface is displayed on the terrain surface in the color set internally (currently yellow is outside the gradient range, and blue is within the gradient range). (Users can also set the colors themselves.) The CPU 30 starts the program for the CAD software stored in a predetermined area of the ROM 32 and executes the processing of this plugin according to that program. The processing of this plugin (Figure 9) (hereinafter referred to as "this processing" in item 7) is as follows:
[0102] First, create yellow and blue materials for the judgment. If they already exist in the project, overwrite their information. Obtain their IDs, and later use them as the judgment numbers for the triangles.
[0103] Since the terrain surface is made up of a mesh, it is internally divided into three-dimensional triangles. We will examine the slope of each of these divided three-dimensional triangles.
[0104] The gradient is calculated as shown in Figure 10 and the following procedure. (1) Calculate the normal vector of the triangle. In this process, (a) Obtain the vector P0->P1 and call it V1.
[0105] (i) Obtain the vector P0->P2 and set it as V2. (c) Let the normal vector be N0, 1. Coordinate N0x = V1.Y × V2.Z - V1.Z × V2.Y The coordinate system N0y = V1.Z × V2.X - V1.Z × V2.Z The coordinate system N0z = V1.X × V2.Y - V1.Y - V2.X (2) Let N1 be the upward vector (0,0,1) (3) The angle between N0 and N1 is calculated using the inverse cosine (acos) of the dot product (Dot Product) of N0 and N1. (4) The slope of the triangle is calculated using the tangent (tan) of the angle obtained in (3).
[0106] This gradient is determined by this process; if it is greater than the upper limit gradient specified by the user on the screen, it is set to yellow, and otherwise it is set to blue.
[0107] This determination is recorded for each triangle, forming the basis of a DirectShape element in Revit. A mesh corresponding to each triangle is created using DirectShape, the material ID corresponding to the determination color is specified, and they are all converted into elements.
[0108] However, this element overlaps with the original terrain surface, making the resulting colors difficult to see. Therefore, as an additional measure, this element is moved slightly upwards. Specifically, a small offset value (for example, around +10mm to +50mm) is added to the Z coordinate of each vertex of the generated analysis geometry (DirectShape) to prevent display flickering (Z-fighting).
[0109] [8. Tree Protection Zone Interference Checker] Next, we will explain the structure of the plugin "Tree Protection Zone Interference Checker" (hereinafter referred to as "this plugin" in item 8).
[0110] Figure 11 is a block diagram showing the processing of the plugin "Tree Protection Zone Interference Checker".
[0111] This plugin verifies whether roads and other features on the terrain surface interfere with tree protection zones (TPZs). Specifically, it determines whether a specified road touches a tree and how much of that area touches the tree. For each tree with a pre-specified TPZ, it outputs the percentage of the TPZ that the road interferes with. If there is no interference, it outputs zero percent.
[0112] The plugin is used as follows: (1) Click the command button. (2) Select a sub-region of the terrain surface that is defined as a road.
[0113] (3) The program obtains instances of trees that come into contact with the road and identifies these interference points.
[0114] (4) Output the interference information as a table to Excel. The CPU 30 starts the program for the CAD software stored in a predetermined area of the ROM 32 and executes the processing of this plugin according to that program. The processing of this plugin (Figure 11) (hereinafter referred to as "this processing" in item 8) is as follows.
[0115] This process converts the TPZ information (circle) of all tree instances into two dimensions, and also converts the geometry of user-selected roads into two dimensions. This two-dimensional conversion process is performed at the ground level of the project within Revit. Specifically, the 3D geometry of the target elements is projected onto a horizontal plane (a reference plane such as Z=0), and converted into a 2D closed shape (CurveLoop or PlanarFace). If the road is defined as a sub-region of the terrain surface, its boundary line is obtained and a 2D polygon is generated.
[0116] The 2D roads track interference between each TPZ 2D circle. If there is no interference, the interference rate is set to 0 and recorded alongside the tree instance ID. If there is interference, the overlapping portion of the road and TPZ circle is calculated within Revit, and this value is calculated using the following formula, and the result is recorded in the tree instance ID. To calculate the interference portion, the Boolean operation method provided by the API (for example, the "Intersection" option in "BooleanOperationsUtils.ExecuteBooleanOperation") is used to generate a shape that is the common part of the road polygon and the TPZ polygon, and its area is calculated.
[0117] Interference rate = Interference area between TPZ circle and road / Area of TPZ circle × 100% At this stage, since the interference percentage has been recorded for all tree instances, the ID, interference rate, and other information such as "tree number, coordinates," etc., are output to Excel.
[0118] [9. Exporting and Importing Tree Instance Information to / from Excel] Next, we will explain the structure of the plugin "Tree Instance Information Export to / Import from Excel" (hereinafter referred to as "this plugin" in item 9).
[0119] Figure 12 is a block diagram showing the processing of the plugin "Tree Instance Information Export to / Import from Excel".
[0120] This plugin imports tree and protection zone information entered in Excel into Revit and updates the Revit tree family information with its corresponding ID. It also exports tree families with TPZ information and their locations back to Excel, allowing for editing of this information within Excel.
[0121] The plugin is used as follows: (1) Click the command button. (2) Choose between Excel → Revit and Revit → Excel.
[0122] (3) If you select Revit → Excel, check whether a tree instance with TPZ information is placed in the project.
[0123] (4) If you select Excel → Revit, select the sheet containing the information entered in Excel. (5) Update each piece of information.
[0124] Note: If you are using this program for the first time, you must first perform the following steps: Revit → Excel. The CPU 30 starts the program for the CAD software stored in a predetermined area of the ROM 32 and executes the processing of this plugin according to that program. The processing of this plugin (Figure 12) (hereinafter referred to as "this processing" in item 9) is as follows.
[0125] [Revit → Excel] This process collects all tree instances. The output includes the "ID, coordinates, type, and number" of each instance. If TPZ or detailed information parameters exist, their values are also included in the output.
[0126] This process involves writing the above information into the tree information created in the intermediate class and consolidating it. At this stage, the Excel file is opened.
[0127] After opening Excel, a new sheet is automatically created, renamed to reflect the Revit project information, and the information for each item grouped in the intermediate class is written as columns in the Excel sheet, while the information for each tree is written as rows.
[0128] Here, you can edit information using Excel. [Excel → Revit] Once the tree information has been updated in Excel, after the command is launched and configured, this process reads all the information from that specific sheet in Excel. The read data is converted into an intermediate class and stored in the computer's memory.
[0129] At this stage, the process collects all tree instances, similar to how tree instances are collected in Revit → Excel, and compares the ID of each instance with the ID of the intermediate class. If the instance ID is found among the IDs of the intermediate class, any other information included with that ID becomes the new value for the target parameter of the tree instance.
[0130] Note that even if coordinates or IDs are changed in Excel, this information will not be modified in Revit when exported to Revit.
[0131] This will enable data exchange between Excel and Revit. [10. Parameter Settings] Next, we will explain the structure of the plugin "Parameter Settings" (hereinafter referred to as "this plugin" in item 10).
[0132] Figure 13 shows the screen for setting parameters. Figure 14 is a block diagram showing the processing of the "Parameter Settings" plugin.
[0133] As shown in Figure 13, this plugin sets the necessary parameters before calculating the area and the underlying formula.
[0134] The plugin is used as follows: (1) Click the command button. (2) A screen like the one in Figure 13 will be displayed. Here, you set the values and rounding methods to match the project specifications, set the text style and line type to represent the dimensions, and finally set the order of the dimensions in the formula for the rectangle.
[0135] (3) Once you have finished checking the settings, press the "OK" button. The CPU 30 starts the program for the CAD software stored in a predetermined area of the ROM 32 and executes the processing of this plugin according to that program. The processing of this plugin (Figure 14) (hereinafter referred to as "this processing" in item 10) is as follows.
[0136] This process creates global parameters corresponding to the settings made by the user on the screen and sets their values. If global parameters already exist, this process updates their respective values.
[0137] *Global parameters are a type of parameter that exists only within a project and whose value is used regardless of the element's category. Global parameters saved by this process (for example, parameters with unique names such as "Calculation_RoundingSettings" and "Calculation_TextStyle") can be referenced via an API (for example, "GlobalParametersManager") from the "Area Area and Rationale Calculation" plugin described later. This enables automatic calculations using consistent settings, even if setting operations and calculation operations are separated.
[0138] [11. Calculation of Area and Basis Formula] Next, we will explain the structure of the plugin "Area Area and Rationale Calculation" (hereinafter referred to as "this plugin" in item 11).
[0139] Figure 15 is a block diagram showing the processing of the plugin "Area Area and Rationale Calculation". Figure 16 shows a verifiable shape.
[0140] This plugin calculates the area based on the shape of each area, creates a formula for that calculation, and registers it as a parameter.
[0141] The plugin is used as follows: (1) Check if the shape of the area is one of the following six basic shapes.
[0142] "Rectangles, squares, parallelograms, triangles, trapezoids, circles, and arcs" (2) If the shape of the area is not one of the shapes described above, divide the area with a boundary line to create a new area that matches these shapes.
[0143] (3) Click the command button. (4) Select the target area. (5) Finish the selection and start the calculation.
[0144] The CPU 30 starts the program for the CAD software stored in a predetermined area of the ROM 32 and executes the processing of this plugin according to that program. The processing of this plugin (Figure 15) (hereinafter referred to as "this processing" in item 11) is as follows:
[0145] [Part 1] Once the user selects a target area and starts the calculation, this process examines the shape of each area.
[0146] First, this process checks if each area is unplaced (i.e., does not have sufficient boundaries). If an area is unplaced, the process is skipped.
[0147] Otherwise, the relationship between each edge of the area and the next edge is examined and processed as follows. The process involves verifying the first edge and the next edge, and proceeding with verification one edge at a time up to (number of edges - 1) times. In the following verification, when determining "straight line," "arc," "parallel," "right angle," etc., minute errors due to floating-point calculations within the CAD software are taken into consideration, and the condition is considered satisfied if it is within a predetermined tolerance value (e.g., 10 to the power of minus 9), rather than requiring a strict match.
[0148] (a) If the first edge is a straight line and the second edge is also a straight line, we check for collinearity here. If these two straight lines are collinear, we combine these two straight lines into a single edge and proceed with the check using this new edge and the next edge.
[0149] (b) If the first edge is an arc and the second edge is also an arc, check here that the two arcs have the same center point and radius. If this condition is met, merge these two edges into one and proceed with the verification on this edge and the next edge. If the above conditions for the two edges are not met, or if neither edge is a straight line or an arc, skip the verification here and proceed with the verification on the next edge and the one after that.
[0150] Once the above verification and processing are complete, the number of edges in the area will be the actual number of edges in that shape. This allows the process to determine the shape of the area.
[0151] [Part 2] Next, the process moves to verifying whether the processed area falls within one of the basic shapes shown in Figure 16: "rectangle (including square), parallelogram, triangle, trapezoid, circle, or arc." The number of sides of the area... (a) In the case of 4 (a) If all sides are straight lines, and the first and third sides are parallel, and the second and fourth sides are also parallel, then the shape is a "rectangle" if the angle between the first and second sides is 90 degrees, and the angle between the third and fourth sides is also 90 degrees. Otherwise, it is a "parallelogram".
[0152] (i) If all sides are straight lines, and the first and third sides are parallel but the second and fourth sides are not, or if the second and fourth sides are parallel but the first and third sides are not, the shape is a "trapezoid".
[0153] (b) In the case of 3 (a) If all sides are straight lines, it is a "triangle". (c) In the case of 2 pieces (a) If both are arcs, the shape will be a circle.
[0154] (i) If one line is both an arc and the other is a straight line, the shape is "bow-shaped". (d) In cases other than those described above, the process is skipped.
[0155] [Part 3] This process, once the shape of the area is determined, performs the calculation of values and the corresponding formulas for each shape as follows: The following is done using the digit processing set in "Parameter Settings".
[0156] [Rectangle / Square] The lengths of the first and second edges are processed using argument digits. Formula: "Length of the first piece" × "Length of the second piece" 〔parallelogram〕 Determine the lengths of the first and second edges, and process the length of the longest edge using the argument digits. Furthermore, calculate the distance between the longest edge and the edge parallel to it (the third edge in the case of the first edge, and the fourth edge in the case of the second edge), and process this distance using the argument digits.
[0157] Formula: "Length of the longest side" × "Distance from a parallel side" [Trapezoid] The two parallel edges are obtained, the length of the longer of these two edges is processed using the argument digits, and the length of the shorter edge is also processed using the argument digits. Furthermore, the distance between these two edges is taken and processed using the argument digits.
[0158] Rational basis: 0.5 × "distance between two parallel sides" × (Length of the longer side + Length of the shorter side) 〔triangle〕 If two of the angles are 90 degrees, these two lengths are processed using the coarse argument digits.
[0159] Formula: 0.5 × "Length of the first piece" × "Length of the second piece" On the other hand, if the above conditions are not met, first the length of the longest side is processed using the argument digits, and then the shortest distance to a vertex that is not an endpoint of this side is processed using the argument digits.
[0160] Formula: 0.5 × "Length of the longest side" × "Shortest distance to a vertex" 〔circle〕 The radius of a single arc is processed to the argument digits, and then π is processed to the π digits.
[0161] Formula: π × "radius" × "radius" [bow shape] The radius of the arc is processed using argument digits, π is processed using π digits, and the angle of the arc is processed using argument digits.
[0162] Base formula (partial): 0.5 × "radius" × "radius" × "angle" × "180 / π" The above formula is for a sector; therefore, the formula for a curved shape requires the same formula as a triangle and its calculation method, which is determined by the angle of the arc.
[0163] First, we generate the formula for the triangle. We process the lengths of the sides of the arc-shaped straight lines using argument digits, and then we process the shortest distance between the center point of the arc's sides and the straight line using argument digits.
[0164] Base formula (two parts): 0.5 × "length of the line" × "shortest distance between the center point of the arc and the line" If this angle is 180 degrees or less, subtract part two of the base formula from part one. Rational formula (a): Rational formula part 1 - Rational formula part 2 On the other hand, if this angle exceeds 180 degrees, add the first and second parts of the base formula. Rational formula (b): Rational formula part 1 + Rational formula part 2 The area is calculated for all the underlying formulas, and the results are then processed to determine the number of decimal places. In addition, when generating the strings for the underlying formulas, the rounding and decimal place settings of the global parameters saved in the aforementioned "Parameter Settings" are read, the numbers are formatted (converted to strings) according to those settings, and then combined with operators to construct the formulas.
[0165] [Part 4] Convert the area's rationale expression into a string and specify it as the area's rationale expression parameter. The calculated area value remains a number and is specified as the area calculation value parameter.
[0166] Differences between Autodesk and Boot.one plugins (1) In the Autodesk and Boot.one plugins, "Parameter Settings" and "Area / Basis Formula" are combined into a single command, and each time this command is executed, the parameters are set. If the user changes these settings midway through, the consistency of the settings will be lost. On the other hand, in the AYA plugin, "Parameter Settings" are set only once, and after that, only the "Area / Basis Formula" command is repeated. This further reduces working time. This is achieved by a system configuration in which the setting values are permanently stored in the project itself via "Global Parameters" as mentioned above, and the calculation plugin references these values whenever necessary.
[0167] [Variation] The above embodiments are merely examples of the present invention, and the present invention is not limited to these embodiments. For example, the following modifications can be adopted.
[0168] In the above embodiment and its modifications, the configuration allows selecting either the center of gravity or the insertion point as the destination for the room tag. However, the system is not limited to these two configurations. It can also employ a configuration that searches for and determines a position that avoids interference with other elements such as furniture and equipment placed within the room. Specifically, if the calculated center of gravity position overlaps with other elements, the search range is expanded spirally or radially from the center of gravity to identify the optimal empty area (such as the center of the largest inscribed circle) where the tag's bounding box does not interfere with other elements or the room boundary, and this position is set as the destination. This makes it possible to automatically place the tag not only within the room, but also in a position that offers the highest readability in the drawing.
[0169] Furthermore, in the above embodiments and their modifications, the analysis geometry is offset in the height direction to prevent display interference (Z-fighting) in the slope analysis of the terrain surface. However, the system is not limited to this, and a configuration can be adopted in which the display color of the terrain surface mesh itself is temporarily changed using the view filter function or override function of the CAD software. Alternatively, the analysis geometry may be formed with a semi-transparent material, and the terrain surface may be made transparent to display it, thereby visually combining the texture of the terrain surface and the analysis color. This makes it possible to recognize the terrain shape and grasp the slope information simultaneously without adjusting the offset value.
[0170] Furthermore, while the above embodiment and its modifications are configured to perform gradient analysis of the terrain surface only once when a command is executed, the system is not limited to this. It is also possible to use the "Dynamic Model Update" function of the CAD software to perform real-time gradient recalculation and color updates in the background immediately after the designer deforms the terrain surface. This allows the designer to immediately check the impact of changes to the construction plan on the gradient, dramatically increasing the efficiency of trial and error.
[0171] Furthermore, in the above embodiment and its modifications, interference checks between the tree protection zone (TPZ) and the road are performed by calculating the area ratio through projection onto a two-dimensional plane. However, the system is not limited to this, and a configuration can be adopted that performs three-dimensional interference checks between an underground cylindrical or spherical model that mimics the root system of a tree and buried pipes (pipe elements) underground. Similarly, interference checks may be performed between an aerial spherical or conical model that mimics the branches and leaves (canopy) of a tree and building elements such as power lines and eaves. This makes it possible to quantitatively evaluate not only the planar occupancy rate but also three-dimensional and realistic construction obstacles.
[0172] Furthermore, in the above embodiment and its modifications, the area area was calculated by fitting it to a basic shape (rectangle, triangle, etc.). However, the system is not limited to this. If the shape of the area is a complex polygon that does not correspond to a basic shape, the system can automatically divide the polygon into multiple triangles (mesh) (e.g., Delaunay triangulation), add up the areas of each triangle to calculate the total area, and output the division process as a basis formula. This makes it possible to automatically create a basis for area calculation even for L-shaped or irregularly shaped areas with irregularities, without having to manually draw boundary lines to divide them.
[0173] Furthermore, while the above embodiment and its modifications involve saving the calculation parameter settings as global parameters, the system is not limited to this. It is also possible to save the settings in a database or configuration file (JSON, XML, etc.) on an external cloud server, and share and synchronize the settings across multiple projects or the entire company. This facilitates the unification of design standards across the organization and ensures data consistency in large-scale projects.
[0174] Furthermore, in the above embodiment and its modifications, the deletion of unused annotation types is performed by batch deletion based on the difference extraction between used and unused types. However, the system is not limited to this, and a configuration can be adopted in which types that exist in the "standard template" defined by the company or project are excluded (locked) from deletion even if they are unused. This prevents the accidental deletion of standard line types and character types that may be used in the future, thereby improving the operational stability of the project.
[0175] Furthermore, while the above embodiments and their modifications implement the processing of each plugin using rule-based algorithms, the system is not limited to this. It is also possible to adopt a configuration that uses an AI (artificial intelligence) model trained on training data such as "room tag placement positions" and "area shape division patterns" from past design data to propose optimal placement positions and calculation basis formulas through inference. This makes it possible to incorporate judgments closer to the aesthetic sense and tacit knowledge of designers, which cannot be fully addressed by geometric rules alone, into the automated system.
[0176] Furthermore, while the above embodiment and its modifications involve writing the results of area calculations into parameters within the project, the system is not limited to this. It is also possible to adopt a configuration that directly maps the calculated area values and their underlying formulas to the corresponding cells and automatically outputs them to specific official forms (XML format or designated Excel templates) required for building permit applications, registrations, etc. This eliminates transcription errors between CAD data and application documents, dramatically reduces document creation time in application processes, and maximizes the market value of the design support system.
[0177] Furthermore, in the above embodiment and its modifications, only the gradient (angle of inclination) was analyzed using the normal vector of the terrain surface. However, the system is not limited to this. It is also possible to identify the "direction of maximum inclination" based on the calculated normal vector and to simulate and display the path of rainwater flow (flow line) and depressions where water tends to accumulate. This makes it possible to detect deficiencies in drainage plans and flood risks early in the construction planning stage, and can be developed into an engineering support tool that goes beyond simple shape analysis.
[0178] Furthermore, while the above embodiment and its modifications are configured to update parameters immediately when data is read from Excel, the system is not limited to this. It is also possible to adopt a configuration in which a difference confirmation screen (Diff Viewer) is displayed as a pop-up before the read operation, comparing the "current Revit values" and the "Excel values to be read," and only the items approved by the user are updated. In addition, by adding a function to automatically perform data validation (validation checks) to check whether numerical items contain strings or whether there are any abnormal values exceeding the acceptable range, the risk of project data corruption due to the import of external data can be prevented.
[0179] Furthermore, in the above embodiments and their modifications, the tree protection zone (TPZ) was treated as having a fixed shape. However, the system is not limited to this. It is possible to maintain a database of "growth curve data" for each tree type and age, and by inputting an arbitrary number of years (for example, 5 years later, 10 years later), it is possible to predict the size of the TPZ as it grows in the future and perform interference checks with future roads and buildings based on that predicted shape. This makes it possible to support the assurance of quality in landscape design, including not only at the time of completion but also from the perspective of long-term maintenance and management.
[0180] Furthermore, while the above embodiment and its modifications limit the placement of room tags to room elements within the current project, it is not limited to this. A configuration can be adopted in which room information from a linked external Revit model (linked model) is acquired, and tags are automatically placed on the host model (current file) according to the room shape of the linked model. In large-scale projects, it is common to manage the building structure and interior / annotations in separate files, so support for linked models is expected to be in high demand as an essential function in practice.
[0181] Furthermore, while the above embodiment and its modifications are configured to execute each plugin by clicking a command button, the system is not limited to this. It is also possible to adopt a configuration that incorporates a chatbot-style natural language interface, allowing the designer to input instructions via text or voice, such as "move all room tags on the first floor to the center" or "highlight areas with a slope of 1 / 12 or more in red," which then analyzes the intent and automatically selects and executes the appropriate plugin. This eliminates the need to search for the desired command from a multitude of functions, enabling even users unfamiliar with CAD operations to utilize advanced design support functions.
[0182] Furthermore, while the above embodiment and its modifications applied area calculation to the creation of area calculation diagrams (two-dimensional area calculation), the system is not limited to this. It can also be configured to automatically calculate the "volume" of three-dimensional elements such as walls, floors, and columns, and multiply this by the carbon emission coefficient (CO2 emission intensity) included in the material information of each element to instantly estimate and display the embodied carbon (carbon dioxide emissions during construction) of the entire building. This automates environmental performance evaluation (LCA: Life Cycle Assessment) at the design stage and can be promoted as a design support tool for environmentally conscious buildings.
[0183] Furthermore, while the above embodiment and its modified examples only involved the automatic placement of room tags, the system is not limited to this. It can also be configured to automatically measure the distance between opposing walls when a room boundary is recognized and to automatically draw and place "dimension lines" indicating the interior dimensions (effective dimensions) of the room. Moreover, by making it possible to switch between drawing dimensions between wall centers and interior dimensions using a global parameter, an automated drawing system that can instantly adapt to both detailed design drawings and brochure drawings can be realized.
[0184] Furthermore, in the above embodiment and its modified form, the results of interference checks between elements (trees and roads, etc.) were output to Excel, etc. However, the system is not limited to this. It is also possible to integrate an issue management function that allows for assigning statuses such as "awaiting approval," "corrected," and "on hold" to interference locations within the CAD software, and to adopt a configuration that automatically updates the status each time a correction is made by the person in charge. This allows for centralized management of the workflow from interference checks to correction confirmation, preventing on-site problems caused by missed corrections.
[0185] Furthermore, while the above embodiment and its modifications display the topographic gradient analysis results in different colors, the system is not limited to this. Based on the analyzed gradient information, it is possible to automatically detect routes with gradients that are impassable for wheelchair users (e.g., 1 / 12 or more), search for passable detour routes, and display them on the drawing with arrows or other navigation indicators. This makes it possible to instantly and visually verify whether the design takes into account barrier-free laws and universal design principles.
[0186] Furthermore, while the above embodiment and its modifications involved organizing annotation types within the project, the system is not limited to this. It is also possible to adopt a configuration that monitors the versions of "families (parts)" placed within the project and, if the latest version of a family exists on the company's shared server, notifies the designer or automatically replaces (reloads) it with the latest version. This ensures that in large-scale projects involving multiple designers, the design process always proceeds using parts that conform to the latest and correct standards.
[0187] Furthermore, while the above embodiment and its modifications rounded the numerical values in the area calculation, the system is not limited to this. By multiplying the calculated area and quantity of materials by a pre-set "unit price information," a configuration can be adopted that calculates and displays the estimated construction cost in real time. Since the impact on costs is immediately visualized each time a design change (for example, expanding a room or changing to higher-grade materials) is made, it becomes a powerful tool for realizing "cost-on-design," where design is carried out while managing the budget.
[0188] Furthermore, while the above embodiments and their modifications primarily involved on-screen verification, the system is not limited to this. It is also possible to adopt a configuration that converts and outputs the 3D model, including the analysis results (color coding of gradients and interference points), into a data format for VR (virtual reality) or AR (augmented reality) (USDZ, glTF, etc.). This allows designers to experience the steepness of the gradients and the oppressive feeling of the trees at life-size scale using a head-mounted display, dramatically enhancing the presentation effect to clients.
[0189] Furthermore, although the above embodiments and their modifications do not mention legal checks such as the Building Standards Act, the system is not limited to these. It is possible to adopt a configuration that automatically generates height restrictions (slope restrictions) such as "road slope" and "north-side slope" arising from the site boundary as a three-dimensional volume, and automatically determines whether the planned building exceeds that restricted volume. By comprehensively performing legal checks in three-dimensional space, which were previously done manually using elevation and cross-sectional drawings, it is possible to eliminate omissions in confirming legal compliance.
[0190] Furthermore, while the above embodiments and their modifications are implemented as a single device, the system is not limited to this and can also be implemented as a network system. As an example of a network system, some or all of the functions of the drawing creation support device 100 can be configured as virtual servers on a server that provides cloud computing services.
[0191] Furthermore, the above embodiments and their modified forms (including their respective constituent technologies) are mutually applicable.
[0192] Furthermore, the present invention is applicable not only to the embodiments described above and their variations, but also to other cases without departing from the spirit of the present invention. For example, the present invention can be applied to a wide range of design work, such as automobile design, mechanical design, and circuit design. [Explanation of symbols]
[0193] 100…Drawing creation support device, 30…CPU, 32…ROM, 34…RAM, 38…I / F, 39…Bus, 40…Input device, 42…Storage device, 44…Display device
Claims
1. A design support system that assists in the creation of architectural drawings on CAD software, A selection method for selecting all target room tags, A centroid calculation means obtains the boundary segments of the room elements associated with each room tag selected by the selection means, identifies the shape of the outer boundary and the shape of the hole which is the inner boundary, and calculates the geometric centroid position of the room element. A determination means for determining whether the calculated center of gravity position is included within the area of the room element, A design support system characterized by comprising: a moving means that determines the center of gravity position as the destination of the room tag if the determination means determines that the center of gravity position is included within the area, and determines a pre-set insertion point on the room element as the destination of the room tag if the determination means determines that the center of gravity position is included outside the area, and moves the room tag to the destination.
2. A gradient analysis means calculates a normal vector for each of the multiple polygon meshes that constitute the terrain surface element, and calculates a gradient value based on the angle between the normal vector and the vertical vector, A color determination means that determines whether the calculated gradient value falls within a predetermined threshold range and determines a display color according to the determination result, The system includes a display means for generating analysis geometry corresponding to the polygon mesh and assigning the determined display color to the analysis geometry for display, The design support system is characterized in that, when displaying the analysis geometry, it adds a predetermined offset value to the height coordinates of the analysis geometry and positions it in order to prevent display interference with the terrain surface elements.
3. A shape acquisition means for acquiring the shape of the protected area set for tree elements and the shape of road elements, A two-dimensionalization means that projects the shape of the protective area and the shape of the road element onto a predetermined plane and converts them into two-dimensional figures, An interference calculation means performs a Boolean operation on the two-dimensional shape of the converted protection region and the two-dimensional shape of the road element to generate a shape of the interference region which is the intersection of the two sets. A design support system characterized by comprising an output means for calculating the ratio of the area of the interference region to the area of the two-dimensional region, and outputting it as an interference rate.
4. A shape identification means for determining whether the shape of an area element in a drawing corresponds to a rectangle, parallelogram, triangle, trapezoid, circle, or arc shape by geometric determination using predetermined tolerance values, Area calculation means for calculating the area of the area element using a calculation formula corresponding to the specified basic shape, The system includes a string generation means that generates a string of formulas indicating the basis for the area calculation based on the dimensions of each side of the area element and the calculated area, The string generation means is a design support system characterized by obtaining numerical rounding settings or display format settings from global parameters stored within the project, and formatting the numerical values of the dimensions and area based on those settings to assemble the basis expression string.
5. In claim 4, The system includes a parameter setting means that accepts the setting of calculation parameters, including numerical rounding settings or display format settings, and saves the set values as global parameters that can be shared among elements within the project. A design support system characterized in that setting operations by the parameter setting means and calculation operations by the shape identification means, the area calculation means, and the string generation means are linked via the global parameter.
6. A means for identifying the type of annotation used, which scans all annotation elements present in the project and creates a first list of currently used annotation types, A load type identification means for creating a second list of all annotation types loaded within the aforementioned project, A difference extraction means for extracting annotation types included in the second list but not included in the first list as candidates for deletion, A design support system characterized by comprising a deletion execution means that, after verifying whether or not the aforementioned comment types that are candidates for deletion can be deleted or performing exception handling when deletion is performed, deletes them all at once from the project.