A drawing update identification method and system
By obtaining and comparing the primitive sets of current and historical drawings of construction projects, determining the primitive sets and generating update areas, the problem of difficult to accurately identify differential data in the drawing comparison in the existing technology is solved, and automated difference recognition and intuitive display are realized, which improves the accuracy and user experience of drawing comparison.
Patent Information
- Application Number
- CN202411838347.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-13
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2044-12-13
AI Technical Summary
The prior art is difficult to accurately, comprehensively and intuitively identify and display differential data in drawing comparison, and errors are easily generated.
By obtaining the primitive set of the current drawings and historical drawings of the current construction project, the different primitive set is determined, and the update area of the drawing is determined based on the different primitive set, so as to realize automated difference identification and integration of local areas.
It realizes the accurate identification of corresponding correlation relationships of local areas in the drawings with correlation, automatic differences identification, accurately extract differential data and analyze and integrate them, forming a scoped difference area and display it to users intuitively, making it easy to find and improve the experience.
Smart Images

Figure CN119399789B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of construction drawings, and in particular to a drawing update identification method and system. Background Art
[0002] Drawings can graphically display information such as the overall layout, structural structure, size, design form, etc. of a project. They are widely used in various industries such as architectural design and mechanical manufacturing. However, they often need to be modified and verified many times during the implementation of the project. In the field of computer-aided design, drawing comparison is an important task used to verify the consistency of the design and detect differences and errors. The current drawing comparison methods are divided into two categories: one is to use the image as a benchmark to analyze whether the pixels are consistent, so as to obtain difference data; the other is to compare the overall drawing file based on the metadata to obtain difference data. The difference data obtained according to the above method is large in number and scattered in distribution, which is not easy to view. In addition, because the content in the drawing file needs to change frequently, it is easy to cause a large amount of error data in the drawing comparison result, and the accuracy is very limited.
[0003] Therefore, it is desirable to provide a drawing update identification method and system to accurately, comprehensively and intuitively implement the identification, analysis, integration and display of difference data. Summary of the invention
[0004] One or more embodiments of the present specification provide a drawing update identification method, including: obtaining a first set of graphic elements and drawing label information of a current drawing of a current construction project; based on the drawing label information, determining related drawings in historical drawings of the current construction project; obtaining a second set of graphic elements of the related drawings; based on the first set of graphic elements and the second set of graphic elements, determining a difference graphic element set; and based on the difference graphic element set, determining an update area of the current drawing.
[0005] In some embodiments, determining the difference primitive set based on the first primitive set and the second primitive set includes: determining a first subset consisting of first difference primitives, the first difference primitives being primitives included in the first primitive set and not included in the second primitive set; determining a second subset consisting of second difference primitives, the second difference primitives being primitives included in the second primitive set and not included in the first primitive set; and determining the difference primitive set based on the first subset and the second subset.
[0006] In some embodiments, determining the update area of the current drawing includes: determining a first minimum distance between any two of the first difference primitives and a second minimum distance between any two of the second difference primitives; dividing the first difference primitives into at least one first group based on the first minimum distance, and dividing the second difference primitives into at least one second group based on the second minimum distance; and generating the update area based on the at least one first group, and generating the update comparison area based on the at least one second group.
[0007] In some embodiments, generating the update area based on the at least one first grouping and generating the update comparison area based on the at least one second grouping includes: obtaining the minimum and maximum values of the coordinates of the graphic elements in the at least one first grouping on each coordinate axis, and determining the update area based on a rectangular area composed of the minimum and maximum values; and obtaining the minimum and maximum values of the coordinates of the graphic elements in the at least one second grouping on each coordinate axis, and determining the update comparison area based on a rectangular area composed of the minimum and maximum values.
[0008] In some embodiments, dividing the first difference primitives into at least one first group based on the first minimum distance and dividing the second difference primitives into at least one second group based on the second minimum distance includes: determining a distance threshold; dividing the first difference primitives whose first minimum distance is less than the distance threshold into the same first group; and dividing the second difference primitives whose second minimum distance is less than the distance threshold into the same second group.
[0009] In some embodiments, determining the distance threshold includes: for the first subset and the second subset, determining the equivalent length of each of the first difference primitives and each of the second difference primitives; performing distribution statistics on the equivalent lengths to determine the degree of discreteness of the equivalent lengths; in response to the degree of discreteness being less than a preset threshold, determining the distance threshold based on the maximum equivalent length; in response to the degree of discreteness being greater than the preset threshold, sorting the equivalent lengths; based on the sorting results of the equivalent lengths, determining a reference equivalent length; and determining the distance threshold based on the reference equivalent length.
[0010] In some embodiments, determining the update area of the current drawing includes: determining the minimum distance between any two primitives in the difference primitive set; based on the minimum distance, dividing the primitives in the difference primitive set into at least one group; and generating the update area based on the primitives in the at least one group.
[0011] In some embodiments, generating the update area based on the graphic elements in the at least one group includes: obtaining the minimum and maximum values of the coordinates of the graphic elements in the group on each coordinate axis; and determining the update area based on a rectangular area formed by the minimum and maximum values.
[0012] In some embodiments, dividing the graphics primitives in the difference graphics primitive set into at least one group based on the minimum distance includes: determining a distance threshold; and dividing the graphics primitives whose minimum distance is less than the distance threshold into the same group.
[0013] In some embodiments, determining the distance threshold includes: determining the equivalent length of each primitive in the difference primitive set; performing distribution statistics on the equivalent lengths to determine the degree of discreteness of the equivalent lengths; in response to the degree of discreteness being less than a preset threshold, determining the distance threshold based on the maximum equivalent length; in response to the degree of discreteness being greater than the preset threshold, sorting the equivalent lengths; based on the sorting results of the equivalent lengths, determining a reference equivalent length; and determining the distance threshold based on the reference equivalent length.
[0014] In some embodiments, the method further includes: setting different rendering effects for the graphics primitives belonging to different subsets in the update area.
[0015] One or more embodiments of the present specification provide a drawing update identification system, including: an acquisition module, configured to acquire a first set of graphic elements and drawing label information of a current drawing of a current construction project; an associated drawing determination module, configured to determine associated drawings in historical drawings of the current construction project based on the drawing label information; the acquisition module is further configured to acquire a second set of graphic elements of the associated drawings; a difference graphic element set determination module, configured to determine a difference graphic element set based on the first graphic element set and the second graphic element set; and an update area determination module, configured to determine an update area of the current drawing based on the difference graphic element set.
[0016] Through the drawing update identification method provided by one or more embodiments of the present specification, it is possible to accurately determine the corresponding association relationships between local areas in associated drawings, further realize automatic difference identification of local areas, accurately extract difference data and analyze and integrate them, and form scoped difference areas for intuitive and comprehensive display to users, which facilitates search and improves the experience, while effectively avoiding problems such as difficulty in identifying regional differences between drawings and large numbers of errors caused by factors such as frame translation. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] This specification will be further described in the form of exemplary embodiments, which will be described in detail by the accompanying drawings. These embodiments are not restrictive, and in these embodiments, the same number represents the same structure, wherein:
[0018] Figure 1 is a schematic diagram of an application scenario of an exemplary drawing update recognition system according to some embodiments of this specification;
[0019] Figure 2 is a module diagram of an update identification system according to the exemplary drawings shown in some embodiments of this specification;
[0020] Figure 3 is a flowchart of an exemplary drawing update identification method according to some embodiments of this specification;
[0021] Figure 4 is a schematic diagram of exemplary determination of update areas according to some embodiments of this specification;
[0022] Figure 5 is a schematic diagram of exemplary determination of update areas according to other embodiments of this specification;
[0023] Figure 6 is a schematic diagram of an exemplary minimum distance according to some embodiments of this specification;
[0024] Figure 7 is a schematic diagram of an exemplary rectangular area according to some embodiments of the present specification. DETAILED DESCRIPTION
[0025] In order to more clearly illustrate the technical solutions of the embodiments of this specification, the following is a brief introduction to the drawings required for the description of the embodiments. Obviously, the drawings described below are only some examples or embodiments of this specification. For ordinary technicians in this field, this specification can also be applied to other similar scenarios based on these drawings without creative work. Unless it is obvious from the language environment or otherwise explained, the same reference numerals in the figures represent the same structure or operation.
[0026] It should be understood that the "system", "device", "unit" and / or "module" used herein are a method for distinguishing different components, elements, parts, portions or assemblies at different levels. However, if other words can achieve the same purpose, the words can be replaced by other expressions.
[0027] As shown in this specification and claims, unless the context clearly indicates an exception, the words "a", "an", "an" and / or "the" do not refer to the singular and may also include the plural. Generally speaking, the terms "comprise" and "include" only indicate the inclusion of the steps and elements that have been clearly identified, and these steps and elements do not constitute an exclusive list. The method or device may also include other steps or elements.
[0028] Flowcharts are used in this specification to illustrate the operations performed by the system according to the embodiments of this specification. It should be understood that the preceding or following operations are not necessarily performed precisely in order. Instead, the steps may be processed in reverse order or simultaneously. At the same time, other operations may also be added to these processes, or one or more operations may be removed from these processes.
[0029] Figure 1 1 is a schematic diagram of an application scenario of an exemplary drawing update recognition system according to some embodiments of this specification. Figure 1 As shown, the drawing update identification system 100 may include a storage device 110 , a processing device 120 , a terminal 130 and a network 140 .
[0030] The storage device 110 can store data or information. In some embodiments, the storage device 110 can store data and / or information related to drawings of the construction project, such as current drawings, historical drawings, etc. In some embodiments, the storage device 110 can store data and / or information processed by the processing device 120, such as the first element set and drawing label information of the current drawing, etc. The storage device 110 may include one or more storage components, each of which may be an independent device or part of another device. The storage device may be local or implemented through the cloud.
[0031] The processing device 120 can process data and / or information obtained from other devices or system components, and execute the drawing update identification method shown in some embodiments of this specification based on these data, information and / or processing results to complete one or more functions described in some embodiments of this specification. For example, the processing device 120 can obtain pre-stored data and / or information, such as current drawings, historical drawings, etc., from the storage device 110 to execute the drawing update identification method shown in some embodiments of this specification. For example, the processing device 120 can obtain the first element set and drawing label information of the current drawing of the current construction project, and determine the associated drawings in the historical drawings of the current construction project based on the drawing label information. Further, the processing device 120 can obtain the second element set of the associated drawings, and determine the difference element set based on the first element set and the second element set. Afterwards, the processing device 120 can determine the update area of the current drawing based on the difference element set.
[0032] In some embodiments, the processing device 120 may include one or more sub-processing devices (e.g., a single-core processing device or a multi-core multi-core processing device). As an example only, the processing device 120 may include a central processing unit (CPU), a graphics processing unit (GPU), a reduced instruction set computer (RISC), a microprocessor, etc., or any combination thereof.
[0033] The terminal 130 can interact with the user. The user can issue an operation instruction to the processing device 120 through the terminal 130 so that the processing device 120 completes the specified operation, for example, determining the associated drawings, etc. In some embodiments, the terminal 130 can receive the updated area of the current drawing generated from the processing device 120, and the user can execute the current construction project, etc. according to it. In some embodiments, the terminal 130 can be a mobile device, a tablet computer, a laptop computer, a desktop computer, or any combination of other devices with input and / or output functions.
[0034] The network 140 can connect the components of the system and / or connect the system with external resources. The network 140 enables the components to communicate with each other and with other components outside the system, and facilitates the exchange of data and / or information. In some embodiments, one or more components in the drawing update recognition system 100 (e.g., the storage device 110, the processing device 120, the terminal 130) can send data and / or information to other components through the network 140. In some embodiments, the network 140 can be any one or more of a wired network or a wireless network.
[0035] It should be noted that the above description is provided for illustrative purposes only and is not intended to limit the scope of this specification. For those of ordinary skill in the art, various changes and modifications may be made under the guidance of the contents of this specification. The features, structures, methods and other features of the exemplary embodiments described in this specification may be combined in various ways to obtain additional and / or alternative exemplary embodiments. For example, the processing device 120 may be based on a cloud computing platform, such as a public cloud, a private cloud, a community and a hybrid cloud. However, these changes and modifications will not deviate from the scope of this specification.
[0036] Figure 2 2 is a block diagram of an exemplary drawing update identification system according to some embodiments of the present specification. In some embodiments, the drawing update identification system 200 may include an acquisition module 210, an associated drawing determination module 220, a difference primitive set determination module 230, and an update region determination module 240. In some embodiments, each module in the drawing update identification system 200 may be implemented by the processing device 120.
[0037] In some embodiments, the acquisition module 210 can be used to acquire a first set of graphic elements and drawing label information of a current drawing of the current construction project. For more information on how to acquire the first set of graphic elements and drawing label information, see the description of step 310. In some embodiments, the acquisition module 210 can be further used to acquire a second set of graphic elements of the associated drawing. For more information on how to acquire the second set of graphic elements, see the description of step 330.
[0038] In some embodiments, the associated drawing determination module 220 can be used to determine the associated drawings in the historical drawings of the current construction project based on the drawing label information. For more information on how to determine the associated drawings, please refer to the description of step 320.
[0039] In some embodiments, the difference primitive set determination module 230 may be used to determine the difference primitive set based on the first primitive set and the second primitive set. For more information on how to determine the difference primitive set, please refer to the description of step 340.
[0040] In some embodiments, the update region determination module 240 may be used to determine the update region of the current drawing based on the difference primitive set. For more information on how to determine the update region of the current drawing, please refer to the description of step 350.
[0041] In some embodiments, two or more modules in the drawing update identification system 200 can be combined into one module, which can implement the functions of the two or more modules. For example, the difference primitive set determination module 230 and the update area determination module 240 can be combined into one module, which can be used to determine the difference primitive set and determine the update area of the current drawing. In some embodiments, one or more modules in the drawing update identification system 200 can be deleted, or one or more modules can be added to the drawing update identification system 200.
[0042] Figure 3 FIG. 1 is a flowchart of an exemplary drawing update identification method according to some embodiments of this specification. Figure 3 As shown, the process 300 includes the following steps. In some embodiments, the process 300 may be executed by the processing device 120 .
[0043] Step 310 , obtaining the first graphic element set and the graphic label information of the current drawing of the current construction project. In some embodiments, step 310 may be performed by the obtaining module 210 .
[0044] The current construction project refers to a construction project that is being promoted. For example, the construction project of Airport A under construction. The current drawing refers to a drawing file at the current time. For example, the latest version of the CAD drawing of the construction project of Airport A under construction. In some embodiments, the processing device 120 can obtain the current drawing of the current construction project by obtaining user input information. For example, the processing device 120 can obtain the current drawing of the current construction project uploaded by the user through the terminal 130.
[0045] Primitives refer to the various basic graphic elements and their related properties that constitute the drawing content. For example, points and their related properties (such as style, location coordinates, etc.), lines and their related properties (such as coordinates of the start and end points, line type, color, line width, etc.), arcs and their related properties (such as start point, end point, radius, center angle, etc.), circles and their related properties (such as center coordinates, radius length, color, line width, etc.), polygons and their related properties (such as coordinates of all vertices, possible fill colors, edge properties, etc.), text (text annotations on drawings, including text content, insertion point coordinates, font style, font size, etc.), blocks (a collection of primitives that can be inserted, moved or modified as a unit, including block definitions, block references, etc.), dimensions (indicates dimension information on drawings, including dimension lines, dimension text and arrows, etc.), etc.
[0046] The first element set refers to the set of elements in the current drawing. For example, the elements C1, C2, ..., C n The primitive set (C1, C2, ..., C n). Drawing label information refers to the information used in drawings to describe and identify the main content, attributes, version and other related data of the drawings, which can include the content of multiple fields. For example, drawing label information can include drawing name (describes the specific content or name of the component represented by the drawing, such as "first floor plan", "mechanical part A", etc.), drawing number (number used to uniquely identify the drawing, usually following certain numbering rules, such as "DWG-001", "PART-002", etc.), design stage (the design stage of the drawing, such as "preliminary design", "construction drawing", "completion drawing", etc.), date (creation date and last modification date of the drawing, etc., used to track the version history of the drawing), scale (the proportional relationship between the graphics on the drawing and the actual object, such as "1:100" means that 1 unit length on the drawing represents 100 units of length of the actual object, etc.), designer / reviewer information (name or number of the designer who designed the drawing, name or number of the reviewer who reviewed the drawing, etc.), project information (project name, project number or project stage related to the drawing, etc.), other notes (any additional information that is helpful for understanding and using the drawing, such as special material requirements, construction precautions, etc.), etc. In some embodiments, the label information can be used for drawing difference comparison. For example, by comparing the "drawing number" and "design stage" in the label information of two drawings, it can be determined whether they belong to the same series or version, and the difference comparison of the two drawings can be performed. In some embodiments, the processing device 120 can parse the current drawing, identify and obtain the primitives, label information, frame and its set coordinate range (the interval formed by the minimum and maximum values of the coordinates of all points in the frame), and construct a first primitive set based on all the primitives obtained in the frame of the current drawing that need to be compared with the drawing difference. The frame that needs to be compared with the drawing difference can be the frame of the entire current drawing or the frame of part of the current drawing, which can be preset based on experience or demand. The specific parsing process may include preset algorithms, machine learning models, etc.
[0047] Step 320 , based on the drawing label information, determine the associated drawings in the historical drawings of the current construction project. In some embodiments, step 320 may be performed by the associated drawing determination module 220 .
[0048] Historical drawings refer to drawing files of historical time. For example, the initial version of the CAD drawings of the construction project of Airport A under construction. In some embodiments, the processing device 120 can obtain the historical drawings of the current construction project in a variety of ways. For example, the processing device 120 can obtain the historical drawings of the current construction project by obtaining user input information. For another example, the processing device 120 can obtain the drawings of the current construction project uploaded by the user through the storage device inside or outside the drawing update recognition system 100 in the historical time.
[0049] An associated drawing refers to a drawing file with related (for example, partially identical) drawing label information. For example, if the "drawing name" and "design stage" of drawing D are consistent with those of drawing E, then drawing D is an associated drawing of drawing E. In some embodiments, the processing device 120 may compare the drawing label information of the current drawing with the drawing label information of the historical drawing, and if the two are partially consistent, then the historical drawing is determined to be an associated drawing of the current drawing.
[0050] Step 330 , obtaining a second set of graphic elements of the associated drawing. In some embodiments, step 330 may be performed by the obtaining module 210 .
[0051] The second element set refers to the set of elements of the associated drawing. For example, the elements F1, F2, ..., F n The set of primitives (F1, F2, ..., F n ). In some embodiments, the processing device 120 may construct a second set of graphic elements based on all graphic elements obtained from the drawing frames in the associated drawings that require drawing difference comparison.
[0052] Step 340 : Determine a difference primitive set based on the first primitive set and the second primitive set. In some embodiments, step 340 may be performed by the difference primitive set determination module 230 .
[0053] The difference primitive set refers to a set of primitives that are different between the first primitive set and the second primitive set. In some embodiments, the processing device 120 may compare all primitives in the first primitive set and the second primitive set based on the first primitive set and the second primitive set, and determine the difference primitive set based on the primitives that are different. For example, the first primitive set is (C a , C b , C n ), the second primitive set is (C b , C d , C n ), the primitive with differences is C a , C d , the processing device 120 may determine that the difference primitive set may be (C a , C d ).
[0054] In some embodiments, the processing device 120 may determine that the first difference primitives constitute a first subset; determine that the second difference primitives constitute a second subset; and determine a difference primitive set based on the first subset and the second subset.
[0055] The first difference primitive refers to a primitive included in the first primitive set and not included in the second primitive set. The first subset refers to a set consisting of the first difference primitive. The second difference primitive refers to a primitive included in the second primitive set and not included in the first primitive set. The second subset refers to a set consisting of the second difference primitive. In some embodiments, the processing device 120 may compare all the primitives of the first primitive set and the second primitive set, determine the first difference primitive and the second difference primitive, and then determine the first subset and the second subset. For example, the first primitive set is (C a , C b , C e , C n ), the second primitive set is (C b , C d , C f , C x , C n ), the processing device 120 may compare all the primitives of the two to determine the primitive C that is included in the first primitive set and not included in the second primitive set. a , C e is the first difference primitive, the set of first difference primitives (C a , C e ) is the first subset; determine the graphics element C that is included in the second graphics element set and not included in the first graphics element set d , C f , C x , is the second difference primitive, the set of second difference primitives (C d , C f , C x ) is the second subset.
[0056] In some embodiments, the processing device 120 may determine the difference primitive set based on the first subset and the second subset. For example, the first subset is (C a , C e ), the second subset is (C d , C f , C x ), the processing device 120 can comprehensively sort out and determine the difference primitive set as ((C a , C e ), (C d , C f , C x )).
[0057] In some embodiments, before determining the first subset and the second subset, the processing device 120 may convert the coordinates of the graphics elements in the first graphics element set and the second graphics element set to the same coordinate system. The specific conversion method may be a preset algorithm, a machine learning model, etc., which may be preset based on experience or demand.
[0058] In some embodiments of the present specification, by converting the coordinates of the graphics elements in the first graphics element set and the second graphics element set to the same coordinate system before determining the first subset and the second subset, the coordinates of the graphics elements in the first graphics element set and the second graphics element set can be unified under the same coordinate system reference, making the subsequent determination of the first subset and the second subset more accurate.
[0059] In some embodiments of the present specification, by determining a first subset consisting of a first difference primitive, the first difference primitive is a primitive included in the first primitive set and not included in the second primitive set; determining a second subset consisting of a second difference primitive, the second difference primitive is a primitive included in the second primitive set and not included in the first primitive set; and determining a difference primitive set based on the first subset and the second subset, the difference primitives in the first primitive set and the second primitive set can be accurately determined, which facilitates subsequent difference comparison and difference area integration between the current drawing and the associated drawings.
[0060] Step 350 , based on the difference primitive set, determine the update region of the current drawing. In some embodiments, step 350 may be performed by the update region determination module 240 .
[0061] The update area refers to the area in the current drawing that is integrated based on the first difference primitive. In some embodiments, the processing device 120 can determine the update area of the current drawing in a variety of ways based on the difference primitive set. For example, the processing device 120 can determine the update area of the current drawing based on the difference primitive set by a first preset rule. The first preset rule can be preset based on experience or demand. An exemplary first preset rule can be determining the minimum area that can accommodate all primitives in the difference primitive set as the update area of the current drawing.
[0062] In some embodiments, the processing device 120 may determine a first minimum distance between any two first difference primitives and a second minimum distance between any two second difference primitives; divide the first difference primitives into at least one first group based on the first minimum distance, and divide the second difference primitives into at least one second group based on the second minimum distance; generate an update region based on at least one first group, and generate an update comparison region based on at least one second group. For more information about generating an update region and updating a comparison region, see Figure 4 and its related description.
[0063] In some embodiments, the processing device 120 may determine the minimum distance between any two primitives in the difference primitive set; divide the primitives in the difference primitive set into at least one group based on the minimum distance; and generate an update region based on the primitives in the at least one group. For more information about generating an update region, see Figure 5 and its related description.
[0064] In some embodiments of the present specification, by obtaining the first graphic element set and the drawing label information of the current drawing of the current construction project; based on the drawing label information, determining the related drawings in the historical drawings of the current construction project; obtaining the second graphic element set of the related drawings; based on the first graphic element set and the second graphic element set, determining the difference graphic element set; based on the difference graphic element set, determining the update area of the current drawing, it is possible to accurately identify the related drawings (such as the previous and next versions of the drawings, etc.), perform automated difference recognition on the local areas within the drawings, determine accurate difference data, and integrate a large amount of scattered difference data to form a ranged difference area, which is intuitively displayed to the user, facilitating the user to quickly query and improve the user experience. In addition, the recognition method can also automatically determine the corresponding association relationship of the local areas within the related drawings, and then perform a difference comparison of the local areas, to avoid problems such as difficulty in recognition and large errors caused by factors such as frame translation.
[0065] Figure 4 It is a schematic diagram of exemplary determination of update areas according to some embodiments of this specification.
[0066] like Figure 4 As shown, the processing device 120 may determine a first minimum distance 421 between any two first difference primitives 411 and a second minimum distance 422 between any two second difference primitives 412 .
[0067] Minimum distance refers to the shortest distance between primitives. Figure 6 is a schematic diagram of an exemplary minimum distance according to some embodiments of this specification, such as Figure 6 As shown, the minimum distance between the primitive A and the primitive B is the distance shown by the dotted line L. The first minimum distance 421 refers to the minimum distance between the first difference primitives 411. The second minimum distance 422 refers to the minimum distance between the second difference primitives 412. In some embodiments, the processing device 120 can determine the first minimum distance 421 between any two first difference primitives 411 and the second minimum distance 422 between any two second difference primitives 412 by geometric theorems (the shortest straight line between two points, the Pythagorean theorem, etc.), shortest path algorithms (such as Freud's algorithm, Dijkstra's algorithm, Bellman-Ford algorithm, etc.), etc.
[0068] Furthermore, the processing device 120 may divide the first difference primitive 411 into at least one first group 481 based on the first minimum distance 421 , and divide the second difference primitive 412 into at least one second group 482 based on the second minimum distance 422 .
[0069] The first group 481 refers to the group of primitives into which the first difference primitive is divided. The second group 482 refers to the group of primitives into which the second difference primitive 412 is divided. In some embodiments, the processing device 120 can divide the first difference primitive 411 into at least one first group 481 based on the first minimum distance 421 by a second preset rule. The second preset rule can be preset based on experience or demand. An exemplary second preset rule can be to divide the first difference primitives 411 with the same first minimum distance 421 into the same first group 481. The specific method of dividing the second group 482 is similar to the method of dividing the first group 481 described above.
[0070] In some embodiments, the processing device 120 may determine a distance threshold 470, divide the first difference primitive 411 whose first minimum distance 421 is less than the distance threshold 470 into the same first group 481, and divide the second difference primitive 412 whose second minimum distance 422 is less than the distance threshold 470 into the same second group 482. The distance threshold 470 refers to a threshold used to divide the groups. In some embodiments, the processing device 120 may determine the distance threshold in a variety of ways. For example, the processing device 120 may determine the distance threshold 470 by obtaining user input information. For another example, the processing device 120 may obtain the distance threshold 470 in the historical data through a storage device inside or outside the drawing update recognition system 100.
[0071] In some embodiments, for the first subset and the second subset, the processing device 120 may determine the equivalent length 430 of each first difference primitive 411 and each second difference primitive 412. The equivalent length 430 refers to the length obtained by simplifying a complex figure into a simple figure through a certain transformation or mapping (such as a set operation such as translation and rotation). For example, the equivalent length of a straight line may be a length, the equivalent length of an arc may be a radius, and the equivalent length of an irregular curve may be a distance between endpoints, etc. In some embodiments, the processing device 120 may determine the expression form of the equivalent length of the primitive through a preset table, and then calculate and determine the equivalent length of each first difference primitive 411 and each. The preset table may include different types of primitives and their corresponding equivalent length 430 expressions (such as straight line-length, arc-radius, irregular curve-end point spacing, etc.), which may be preset based on experience or demand. The processing device 120 may perform distribution statistics on the equivalent length 430 to determine the discrete degree 440 of the equivalent length 430. The degree of dispersion 440 refers to a parameter reflecting the degree of deviation between a data value and its central value (such as a mean or a median). For example, standard deviation, variance, etc. In some embodiments, the distribution statistics may include normal distribution, chi-square distribution, t distribution, etc. In some embodiments, the processing device 120 may calculate and determine the degree of dispersion 440 of the equivalent length 430 by performing distribution statistics on the equivalent length 430.
[0072] In response to the discrete degree 440 being less than the preset threshold 450, the processing device 120 may determine the distance threshold 470 based on the maximum equivalent length 461. The maximum equivalent length 461 refers to the maximum value in the equivalent length 430. In some embodiments, the processing device 120 determines the product of the maximum equivalent length 461 and the preset coefficient as the distance threshold 470. In response to the discrete degree 440 being greater than the preset threshold 450, the processing device 120 may sort the equivalent lengths 430, determine the reference equivalent length 462 based on the sorting result of the equivalent lengths 430, and determine the distance threshold 470 based on the reference equivalent length 462. The reference equivalent length 462 refers to an equivalent length that can be used as a calculation reference. In some embodiments, the processing device 120 determines the equivalent length that meets the preset conditions in the sorting result as the reference equivalent length 462. In some embodiments, the processing device 120 determines the product of the reference equivalent length 462 and the preset coefficient as the distance threshold 470. The preset threshold 450, preset coefficient, and preset condition can be determined based on experience or demand. An exemplary preset condition can be to sort the equivalent lengths 430 from large to small, and then select a smaller value in the top third (such as a value lower than the average value, etc.) as a reference equivalent length 462.
[0073] In some embodiments, the processing device 120 can determine the distance threshold for dividing the first group 481 and the distance threshold for dividing the second group 482 based on the equivalent length of each first difference primitive 411 and the equivalent length of each second difference primitive 412, respectively; it can also determine a unique distance threshold based on the equivalent lengths of all first difference primitives 411 and second difference primitives 412, and the distance threshold is applicable to the division of the first group 481 and the second group 482.
[0074] In some embodiments of the present specification, by determining the equivalent length of each first difference primitive and each second difference primitive; performing distribution statistics on the equivalent lengths to determine the degree of discreteness of the equivalent lengths; in response to the degree of discreteness being less than a preset threshold, determining a distance threshold based on the maximum equivalent length; in response to the degree of discreteness being greater than the preset threshold, sorting the equivalent lengths; determining a reference equivalent length based on the sorting result of the equivalent lengths; and determining the distance threshold based on the reference equivalent lengths, the equivalent lengths can be divided into two situations: concentrated distribution and dispersed distribution, and appropriate equivalent length reference values are determined for each of the situations to perform subsequent distance threshold determination, so that the determination of the distance threshold is more reasonable and applicable, and the subsequently generated update area can more accurately reflect the modifications to the same component (i.e., more accurately frame the modification range of the same component), thereby enabling automated difference comparison for local areas within the drawing.
[0075] In some embodiments, the processing device 120 may compare the first minimum distance 421 with the distance threshold 470, and classify the first difference primitives 411 whose first minimum distance 421 is smaller than the distance threshold 470 into the same first group 481. In some embodiments, the processing device 120 may compare the second minimum distance 422 with the distance threshold 470, and classify the second difference primitives 412 whose second minimum distance 422 is smaller than the distance threshold 470 into the same second group 482.
[0076] In some embodiments of the present specification, by determining a distance threshold; dividing the first difference graphics elements whose first minimum distance is less than the distance threshold into the same first group; and dividing the second difference graphics elements whose second minimum distance is less than the distance threshold into the same second group, a distance threshold benchmark can be determined, and graphics elements that are close to each other can be divided into the same group to facilitate subsequent integrated display.
[0077] Afterwards, the processing device 120 may generate an update region based on the at least one first grouping 481 , and generate an update comparison region based on the at least one second grouping 482 .
[0078] The update comparison area refers to an area in the associated drawing that is integrated based on the second difference primitive, and is used to compare with the update area in the current drawing. In some embodiments, the processing device 120 can generate the update area based on at least one first grouping 481 through a third preset rule. The third preset rule can be preset based on experience or demand. An exemplary third preset rule can be to determine the minimum area that can accommodate all primitives in the first grouping 481 as the update area of the current drawing. The specific method of generating the update comparison area refers to the related description of generating the update area above.
[0079] In some embodiments, the processing device 120 can obtain the minimum value 4101 and the maximum value 4102 of the coordinates 491 of the graphic elements in at least one first group 481 on each coordinate axis, and determine the update area 4121 based on the rectangular area 4110 composed of the minimum value 4101 and the maximum value 4102; obtain the minimum value 4101 and the maximum value 4102 of the coordinates 492 of the graphic elements in at least one second group 482 on each coordinate axis, and determine the update comparison area 4122 based on the rectangular area 4110 composed of the minimum value 4101 and the maximum value 4102.
[0080] The maximum value refers to the maximum value reached by the coordinates of all graphics elements on a certain coordinate axis. Figure 7 is a schematic diagram of an exemplary rectangular area according to some embodiments of this specification, such as Figure 7 As shown in , the maximum value of the coordinates of all the primitives on the X axis is 700, and the maximum value on the Y axis is 600. The minimum value 4101 refers to the minimum value reached by the coordinates of all the primitives on a certain coordinate axis. Figure 7 As shown, the minimum value of the coordinates of all the primitives on the X-axis is 100, and the maximum value on the Y-axis is 100. In some embodiments, the processing device 120 may obtain the coordinates of all the primitives in at least one first group 481 (or second group 482) and sort them, and determine the minimum value 4101 and the maximum value 4102 of the coordinates on each coordinate axis.
[0081] Rectangular area 4110 refers to an area defined by minimum value 4101 and maximum value 4102. In some embodiments, processing device 120 may determine rectangular area 4110 by constituting vertex coordinates of rectangular area 4110 based on minimum value 4101 and maximum value 4102, wherein vertex coordinates may be expressed as (X-axis minimum value, Y-axis minimum value), (X-axis minimum value, Y-axis maximum value), (X-axis maximum value, Y-axis minimum value), (X-axis maximum value, Y-axis maximum value). For example, Figure 7 As shown, the coordinates of all graphics elements have a minimum value of 100 on the X-axis, a minimum value of 100 on the Y-axis, a maximum value of 700 on the X-axis, and a maximum value of 600 on the Y-axis. The processing device 120 can determine that the vertex coordinates of the rectangular area are (100, 100), (100, 600), (700, 100), and (700, 600), thereby framing the rectangular area shown by the dotted line.
[0082] In some embodiments of the present specification, an update area is determined by obtaining the minimum and maximum values of the coordinates of the graphic elements in at least one first group on each coordinate axis, and based on the rectangular area formed by the minimum and maximum values; an update comparison area is determined by obtaining the minimum and maximum values of the coordinates of the graphic elements in at least one second group on each coordinate axis, and based on the rectangular area formed by the minimum and maximum values. Based on the specific circumstances of the graphic element coordinates in the group, a reasonable and accurate update area and update comparison area range can be determined, so as to facilitate the centralized display of the graphic element parts that are different and that the user is concerned about.
[0083] In some embodiments of the present specification, by determining a first minimum distance between any two first difference primitives and a second minimum distance between any two second difference primitives; dividing the first difference primitives into at least one first group based on the first minimum distance, and dividing the second difference primitives into at least one second group based on the second minimum distance; generating an update area based on at least one first group, and generating an update comparison area based on at least one second group, the primitives with differences can be divided according to distance and accurately and efficiently integrated into difference areas for user query.
[0084] Figure 5 It is a schematic diagram of exemplary determination of update areas according to other embodiments of this specification.
[0085] like Figure 5As shown, the processing device 120 can determine the minimum distance 530 between any two primitives 520 in the difference primitive set 510, and divide the primitives 520 in the difference primitive set 510 into at least one group 590 based on the minimum distance 530. For details about the minimum distance and its determination method, please refer to Figure 4 Related description.
[0086] For example, the processing device 120 may determine a distance threshold 580 and divide the primitives whose minimum distance 530 is less than the distance threshold 580 into the same group. Figure 4 The division of the first group and the second group is similar, which can be referred to Figure 4 Related description.
[0087] In some embodiments, the processing device 120 may determine the equivalent length 540 of each primitive 520 in the difference primitive set 510; perform distribution statistics on the equivalent length 540 to determine the discrete degree 550 of the equivalent length 540; in response to the discrete degree 550 being less than the preset threshold 560, determine the distance threshold 580 based on the maximum equivalent length 571; in response to the discrete degree 550 being greater than the preset threshold 560, sort the equivalent lengths 540; determine the reference equivalent length 572 based on the sorting result of the equivalent length 540; and determine the distance threshold 580 based on the reference equivalent length 572. For the distance threshold 580 and its determination method, please refer to Figure 4 Related description.
[0088] Further, the processing device 120 may generate an update region 5130 based on the graphic elements in at least one group 590. In some embodiments, the processing device 120 may obtain the minimum value 5111 and the maximum value 5112 of the coordinates 5100 of the graphic elements in the group 590 on each coordinate axis; based on the rectangular region 5120 formed by the minimum value 5111 and the maximum value 5112, determine the update region 5130. The generation method of the update region 5130 here is the same as Figure 4 The generation method of the update area 4121 is similar, which can be referred to Figure 4 Related description.
[0089] In some embodiments, the processing device 120 may set different rendering effects for the graphics elements belonging to different subsets in the update area 5130. The rendering effect refers to the display effect of the image, such as color, texture, pattern, etc. By setting different rendering effects for graphics elements of different subsets, the user can clearly and intuitively see the difference graphics elements, difference areas, etc. corresponding to different drawings, which is convenient for distinction.
[0090] It is understandable that this manual Figure 4In the corresponding embodiment, the current drawing and the associated drawings are distinguished, and the difference graphics therein are integrated and displayed in the form of an update area and an update comparison area. Figure 7 In a corresponding embodiment, the current drawing and the associated drawings are merged, all difference graphics are integrated and displayed in the form of updated areas, so that users can view the difference areas in different versions of drawings at the same time with a more comprehensive perspective.
[0091] The basic concepts have been described above. Obviously, for those skilled in the art, the above detailed disclosure is only for example and does not constitute a limitation of this specification. Although not explicitly stated here, those skilled in the art may make various modifications, improvements and corrections to this specification. Such modifications, improvements and corrections are suggested in this specification, so such modifications, improvements and corrections still belong to the spirit and scope of the exemplary embodiments of this specification.
[0092] At the same time, this specification uses specific words to describe the embodiments of this specification. For example, "one embodiment", "an embodiment", and / or "some embodiments" refer to a certain feature, structure or characteristic related to at least one embodiment of this specification. Therefore, it should be emphasized and noted that "one embodiment" or "an embodiment" or "an alternative embodiment" mentioned twice or more in different positions in this specification does not necessarily refer to the same embodiment. In addition, certain features, structures or characteristics in one or more embodiments of this specification can be appropriately combined.
[0093] In addition, unless explicitly stated in the claims, the order of the processing elements and sequences described in this specification, the use of alphanumeric characters, or the use of other names are not intended to limit the order of the processes and methods of this specification. Although the above disclosure discusses some invention embodiments that are currently considered useful through various examples, it should be understood that such details are only for illustrative purposes, and the attached claims are not limited to the disclosed embodiments. On the contrary, the claims are intended to cover all modifications and equivalent combinations that are consistent with the essence and scope of the embodiments of this specification. For example, although the system components described above can be implemented by hardware devices, they can also be implemented only by software solutions, such as installing the described system on an existing server or mobile device.
[0094] Similarly, it should be noted that in order to simplify the description disclosed in this specification and thus help understand one or more embodiments of the invention, in the above description of the embodiments of this specification, multiple features are sometimes combined into one embodiment, figure or description thereof. However, this disclosure method does not mean that the features required by the subject matter of this specification are more than the features mentioned in the claims. In fact, the features of the embodiments are less than all the features of the single embodiment disclosed above.
[0095] In some embodiments, numbers describing the number of components and attributes are used. It should be understood that such numbers used in the description of the embodiments are modified by the modifiers "about", "approximately" or "substantially" in some examples. Unless otherwise specified, "about", "approximately" or "substantially" indicate that the numbers are allowed to vary by ±20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximate values, which may change according to the required features of individual embodiments. In some embodiments, the numerical parameters should take into account the specified significant digits and adopt the general method of retaining the digits. Although the numerical domains and parameters used to confirm the breadth of the range in some embodiments of this specification are approximate values, in specific embodiments, the setting of such numerical values is as accurate as possible within the feasible range.
[0096] Each patent, patent application, patent application publication, and other materials, such as articles, books, specifications, publications, documents, etc., cited in this specification is hereby incorporated by reference in its entirety. Except for application history documents that are inconsistent with or conflicting with the contents of this specification, documents that limit the broadest scope of the claims of this specification (currently or later attached to this specification) are also excluded. It should be noted that if the descriptions, definitions, and / or use of terms in the materials attached to this specification are inconsistent or conflicting with the contents described in this specification, the descriptions, definitions, and / or use of terms in this specification shall prevail.
[0097] Finally, it should be understood that the embodiments described in this specification are only used to illustrate the principles of the embodiments of this specification. Other variations may also fall within the scope of this specification. Therefore, as an example and not a limitation, alternative configurations of the embodiments of this specification may be considered consistent with the teachings of this specification. Accordingly, the embodiments of this specification are not limited to the embodiments explicitly introduced and described in this specification.
Claims
1. A drawing update identification method, characterized in that: include: Get the first element set and drawing label information of the current drawing of the current construction project; Based on the drawing label information, determining related drawings in historical drawings of the current construction project; Acquire a second graphic element set of the associated drawing; Determine a difference primitive set based on the first primitive set and the second primitive set; as well as Based on the difference primitive set, the update area of the current drawing is determined by way one or way two, wherein: The first method includes: Determine a first minimum distance between any two first difference primitives and a second minimum distance between any two second difference primitives; dividing the first difference primitives into at least one first group based on the first minimum distance, and dividing the second difference primitives into at least one second group based on the second minimum distance; and generating the update region based on the at least one first grouping, and generating an update comparison region based on the at least one second grouping; The second method includes: Determine the minimum distance between any two primitives in the difference primitive set; Based on the minimum distance, grouping the primitives in the difference primitive set into at least one group; and The update region is generated based on the primitives in the at least one group.
2. The method according to claim 1, characterized in that The determining of a difference primitive set based on the first primitive set and the second primitive set comprises: Determine a first subset consisting of the first difference primitives, where the first difference primitives are primitives included in the first primitive set and not included in the second primitive set; Determine a second subset consisting of the second difference primitives, where the second difference primitives are primitives included in the second primitive set and not included in the first primitive set; and The difference primitive set is determined based on the first subset and the second subset.
3. The method according to claim 2, characterized in that Generating the update region based on the at least one first grouping and generating the update comparison region based on the at least one second grouping comprises: Obtaining the minimum value and the maximum value of the coordinates of the primitives in the at least one first group on each coordinate axis, and determining the update area based on a rectangular area formed by the minimum value and the maximum value; and The minimum value and the maximum value of the coordinates of the graphic elements in the at least one second group on each coordinate axis are obtained, and the update comparison area is determined based on a rectangular area formed by the minimum value and the maximum value.
4. The method according to claim 2, characterized in that: The dividing the first difference primitive into at least one first group based on the first minimum distance, and the dividing the second difference primitive into at least one second group based on the second minimum distance comprises: Determine the distance threshold; dividing the first difference primitives whose first minimum distance is less than the distance threshold into the same first group; and The second difference primitives whose second minimum distance is smaller than the distance threshold are divided into the same second group.
5. The method according to claim 4, characterized in that Determining the distance threshold comprises: For the first subset and the second subset, determining an equivalent length of each of the first difference primitives and each of the second difference primitives; Performing distribution statistics on the equivalent length to determine the degree of dispersion of the equivalent length; In response to the discreteness being less than a preset threshold, determining the distance threshold based on a maximum equivalent length; In response to the discrete degree being greater than the preset threshold, sorting the equivalent lengths; Determining a reference equivalent length based on the ranking result of the equivalent lengths; and The distance threshold is determined based on the reference equivalent length.
6. The method according to claim 1, characterized in that Generating the update region based on the primitives in the at least one group comprises: Obtaining the minimum and maximum values of the coordinates of the graphic elements in the group on each coordinate axis; and The update area is determined based on a rectangular area formed by the minimum value and the maximum value.
7. The method according to claim 1, characterized in that The step of dividing the graphics primitives in the difference graphics primitive set into at least one group based on the minimum distance comprises: Determine the distance threshold; The graphic elements whose minimum distance is less than the distance threshold are divided into the same group.
8. The method according to claim 7, characterized in that Determining the distance threshold comprises: Determining the equivalent length of each primitive in the difference primitive set; Performing distribution statistics on the equivalent length to determine the degree of dispersion of the equivalent length; In response to the discreteness being less than a preset threshold, determining the distance threshold based on a maximum equivalent length; In response to the discrete degree being greater than the preset threshold, sorting the equivalent lengths; Determining a reference equivalent length based on the ranking result of the equivalent lengths; and The distance threshold is determined based on the reference equivalent length.
9. The method according to claim 1, characterized in that: The method further comprises: Different rendering effects are set for the graphics primitives belonging to different subsets in the update area.
10. A drawing update recognition system, characterized in that: include: An acquisition module is configured to acquire a first graphic element set and drawing label information of a current drawing of a current construction project; An associated drawing determination module is configured to determine associated drawings in historical drawings of the current construction project based on the drawing label information; The acquisition module is further configured to acquire a second set of graphic elements of the associated drawing; A difference primitive set determining module, configured to determine a difference primitive set based on the first primitive set and the second primitive set; as well as The update region determination module is configured to determine the update region of the current drawing based on the difference primitive set by way of method 1 or method 2, wherein: The first method includes: Determine a first minimum distance between any two first difference primitives and a second minimum distance between any two second difference primitives; dividing the first difference primitives into at least one first group based on the first minimum distance, and dividing the second difference primitives into at least one second group based on the second minimum distance; and generating the update region based on the at least one first grouping, and generating an update comparison region based on the at least one second grouping; The second method includes: Determine the minimum distance between any two primitives in the difference primitive set; Based on the minimum distance, grouping the primitives in the difference primitive set into at least one group; and The update region is generated based on the primitives in the at least one group.
Citation Information
Patent Citations
Fixed-point measurement method and equipment for construction project completion acceptance
CN117408964A
Picture label identification method and system
CN118887696A