CN112507436A - Method for automatically measuring and calculating size of curtain wall glass - Google Patents

Method for automatically measuring and calculating size of curtain wall glass Download PDF

Info

Publication number
CN112507436A
CN112507436A CN202011437526.8A CN202011437526A CN112507436A CN 112507436 A CN112507436 A CN 112507436A CN 202011437526 A CN202011437526 A CN 202011437526A CN 112507436 A CN112507436 A CN 112507436A
Authority
CN
China
Prior art keywords
value
variable
counter
segment
coordinate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011437526.8A
Other languages
Chinese (zh)
Other versions
CN112507436B (en
Inventor
杨佩
来一军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Jubo Technology Co ltd
Original Assignee
Hangzhou Jubo Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Jubo Technology Co ltd filed Critical Hangzhou Jubo Technology Co ltd
Priority to CN202011437526.8A priority Critical patent/CN112507436B/en
Publication of CN112507436A publication Critical patent/CN112507436A/en
Application granted granted Critical
Publication of CN112507436B publication Critical patent/CN112507436B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Computational Mathematics (AREA)
  • Architecture (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

The invention discloses a method for automatically measuring and calculating the size of curtain wall glass, which comprises the following steps: preprocessing the DXF file of the elevation map, wherein the preprocessing comprises correcting errors caused by artificial drawing and sorting data; processing the DXF file of the big sample diagram, and extracting size parameter information in the DXF file of the big sample diagram; matching the preprocessed vertical drawing DXF file with the size parameter information extracted from the large drawing DXF file, and establishing a mapping relation between the glass in the vertical drawing DXF and the size parameter information extracted from the large drawing DXF file after error correction and data arrangement; and obtaining the sizes of all curtain wall glass in the DXF file of the facade map according to the mapping relation. The method has the advantages of automatic matching, high efficiency, high speed and high accuracy in processing a large number of DXF files.

Description

Method for automatically measuring and calculating size of curtain wall glass
[ technical field ] A method for producing a semiconductor device
The invention relates to the technical field of computer data processing, in particular to a method for automatically measuring and calculating curtain wall glass.
[ background of the invention ]
The manufacturing industry and the construction industry are industries with more drawing output, and construction process design drawings (DXF format) contain a large amount of construction component information, and the two types of the construction process design drawings relate to the drawings: the vertical view of the curtain wall and the rough view of the curtain wall refer to the plane views of all floors of a building, and the vertical view comprises information of related lines such as stone, glass and windows. The thumbnail relates to a detailed description of a region in the opposite view. However, the elevation generally does not contain specific dimension information and only general structure information, but only specific dimension information in the elevation does not contain whole information of a floor, so that when the curtain wall glass is installed on the spot, manual real-time correspondence is needed according to the elevation and the elevation according to the elevation, errors caused by manual operation are inevitable in the process, and the operation is complicated.
[ summary of the invention ]
The invention provides a method for automatically measuring and calculating the size of curtain wall glass, aiming at overcoming the defects in the prior art.
In order to achieve the purpose, the invention provides a method for automatically measuring and calculating the size of curtain wall glass, which comprises the following steps: preprocessing a DXF file of the elevation map, wherein the preprocessing comprises correcting errors caused by artificial drawing and sorting data; processing the DXF file of the big sample diagram, and extracting size parameter information in the DXF file of the big sample diagram; matching the preprocessed vertical drawing DXF file with the size parameter information extracted from the large drawing DXF file, and establishing a mapping relation between the glass in the vertical drawing DXF and the size parameter information extracted from the large drawing DXF file after error correction and data arrangement; and obtaining the sizes of all curtain wall glass in the DXF file of the facade map according to the mapping relation.
Further, the correcting errors caused by the artificial drawing and the data arrangement comprise three steps: the method comprises the following steps: judging whether a line segment is a rectangular component and simultaneously meeting the condition of whether a rectangle composed of the line segment is closed, wherein the condition needs to be respectively processing a starting point coordinate and an end point coordinate; step two: classifying the unconnected end points according to data in the DXF file of the elevation map, wherein the unconnected end points need to be processed by a start point coordinate and an end point coordinate respectively; the coordinates of the unconnected end points with the distance between the nearest end point and the preset threshold range are reset, the new coordinate value is equal to the coordinate value of the nearest end point of the end point, and the unconnected end points with the distance between the nearest end point and the preset threshold range do not need to be processed; step three: by merging two parallel straight lines whose distance is less than a set minimum distance threshold into one straight line.
Further, the step of processing the coordinates of the starting point specifically includes: step S100: setting a segment counter i and initializing the segment counter; step S110: adding one to the value of the segment counter i and then endowing the value of the segment counter i to the segment counter i again; step S120: setting a comparison counter j and setting an initial value of the comparison counter j to be zero; step S130: adding one to the value of the comparison counter j and then endowing the value of the comparison counter j again; step S140: judging whether the value of the segment counter i is equal to the value of the comparison counter j, and returning to the step S130 if the value of the segment counter i is equal to the value of the comparison counter j; if the value of the segment counter i is not equal to the value of the comparison counter j, performing step S150; step S150: setting a segment starting point variable and a segment end point variable, storing segment starting point coordinates with the label equal to the value of the current segment technical device i into the segment starting point variable SPi, storing segment starting point coordinates with the label equal to the value of the comparison counter j into the segment starting point variable SPj, and storing segment end point coordinates with the label equal to the value of the comparison counter j into the segment end point variable EPj; step S160: determining whether the value stored in the segment start variable SPi is equal to the value in the segment start variable SPj or the segment end variable EPj; if the value of the variable SPi is equal to the value stored in the variable SPj or the variable EPj, performing step S170, and if the value of the variable SPi is not equal to the value stored in the variable SPj or the variable EPj, performing step S180; step S170: judging whether the value currently stored in the segment counter i is smaller than the upper limit value of the segment counter; if the value of the segment counter i is smaller than the upper limit value of the segment counter, returning to the step S110; if the value of the segment counter i is smaller than the upper limit value of the segment counter, the process is ended; step S180: judging whether the value of the current comparison counter j is smaller than the upper limit value of the comparison counter j; if the value of the comparison counter j is smaller than the upper limit value of the comparison counter j, returning to the step S130; if the value of the comparison counter j is smaller than the upper limit value of the comparison counter j, performing step S190; step S190: after the current segment counter i is output, the process returns to step S170.
Further, the step of processing the end point coordinate specifically includes: step S200: setting a segment counter i and initializing the segment counter; step S210: adding one to the value of the segment counter i and then endowing the value of the segment counter i to the segment counter i again; step S220: setting a comparison counter j and setting an initial value of the comparison counter j to be zero; step S230: adding one to the value of the comparison counter j and then endowing the value of the comparison counter j again; step S240: judging whether the value of the segment counter i is equal to the value of the comparison counter j, and returning to the step S230 if the value of the segment counter i is equal to the value of the comparison counter j; if the value of the segment counter i is not equal to the value of the comparison counter j, performing step S250; step S250: setting a segment starting point variable and a segment end point variable, storing a segment end point coordinate with the label equal to the value of the current segment technical device i into a segment end point variable EPi, storing a segment starting point coordinate with the label equal to the value of a comparison counter j into a segment starting point variable SPj, and storing a segment end point coordinate with the label equal to the value of the comparison counter j into a segment end point variable EPj; step S260: determining whether the value stored in the segment end variable EPi is equal to the value in the segment start variable SPj or the segment end variable EPj; if the value of the variable EPi is equal to the value stored in the variable SPj or the variable EPj, the step S270 is performed, and if the value of the variable EPi is not equal to the value stored in the variable SPj or the variable EPj, the step S280 is performed; step S270: judging whether the value currently stored in the segment counter i is smaller than the upper limit value of the segment counter; if the value of the segment counter i is smaller than the upper limit value of the segment counter, returning to the step S210; if the value of the segment counter i is smaller than the upper limit value of the segment counter, the process is ended; step S280: judging whether the value of the current comparison counter j is smaller than the upper limit value of the comparison counter j; if the value of the comparison counter j is smaller than the upper limit value of the comparison counter j, returning to the step S230; if the value of the comparison counter j is smaller than the upper limit value of the comparison counter j, the step S290 is performed; step S290: after the current segment counter i is output, the process returns to step S270.
Further, the processing of the coordinates of the starting point in the second step specifically includes: wherein step S300 is performed subsequent to step S190; step S300: storing the starting point x coordinate of a line segment with the serial number equal to the current output i value into a variable Xs, storing the line segment end point x coordinate into a variable Xe, storing the starting point y coordinate of a line segment with the serial number equal to the current output i value into a variable Ys, and storing the line segment end point y coordinate into a variable Ye; step S310: judging whether the value stored in the variable Xs is equal to the value stored in the variable Xe, if so, performing step S320a, and if not, performing step S320 b; step S320 a: after storing the coordinate value of the point where the x coordinate is equal to the value of the variable Xs in the variable array An, performing step S330 a; step S330 a: calculating the distances between all points in the variable array An and the starting point of the line segment with the sequence number equal to the current output value i, and storing the distances into the variable array ran, and then performing step S340 a; step S340 a: recording the minimum value in the variable array ran into the variable ramin, and recording the coordinate of the target point corresponding to the minimum value into the variable array T, and then performing step S350; step S320 b: after storing the coordinate value of the point where the y coordinate is equal to the Ys value of the variable to the variable array Bn, performing step S330 b; step S330 b: after calculating the distances between all points in the variable array Bn and the starting point of the line segment with the sequence number equal to the current output i value and storing the distances into the variable array rbn, performing step S340 b; step S340 b: step S350 is performed after the minimum value in the variable array rbn is recorded into a variable rbmin and the coordinate of the point corresponding to the minimum value is recorded into a variable array T; step S350: and judging whether the value of the variable ramin or the variable rbmin is smaller than a set threshold, if so, assigning the coordinate in the array variable T to the start coordinate of the line segment with the serial number equal to the current output value i and returning to the step S170, and if so, returning to the step S170.
Further, the step of processing the two pairs of end point coordinates includes: wherein step S400 is performed after step S290; step S400: storing the starting point x coordinate of a line segment with the serial number equal to the current output i value into a variable Xs, storing the line segment end point x coordinate into a variable Xe, storing the starting point y coordinate of a line segment with the serial number equal to the current output i value into a variable Ys, and storing the line segment end point y coordinate into a variable Ye; step S410: judging whether the value stored in the variable Xe is equal to the value stored in the variable Xs, if so, performing step S420a, and if not, performing step S420 b; step S420 a: storing the coordinate value of the x coordinate equal to the variable Xe value point in the variable array An, and performing step S430 a; step S430 a: calculating the distances between all points in the variable array An and the line segment end point with the sequence number equal to the current output value i, storing the distances into a variable array ran, and performing step S440 a; step S440 a: recording the minimum value in the variable array ran into the variable ramin, recording the coordinate of the target point corresponding to the minimum value into the variable array T, and performing the step S450; step S420 b: storing the coordinate value of the point with the y coordinate equal to the Ys value of the variable to the variable array Bn, and performing the step S430 b; step S430 b: calculating the distances between all points in the variable array Bn and the line segment end point with the sequence number equal to the current output i value, storing the distances into the variable array rbn, and performing step S440 b; step S440 b: recording the minimum value in the variable array rbn into a variable rbmin, recording the coordinate of the point corresponding to the minimum value into a variable array T, and performing step S450; step S450: and judging whether the value of the variable ramin or the variable rbmin is smaller than a set threshold, if so, assigning the coordinate in the variable array T to the end point coordinate of the line segment with the serial number equal to the current output i value and returning to the step S270, and if so, returning to the step S270.
Further, the processing of the thumbnail DXF file specifically includes: step S500: setting a nameless block counter b and initializing a nameless block counter b, setting a straight line counter l and initializing a straight line counter l, setting a text counter d and initializing a text counter d; step S510: the group value of the nameless block with the group code equal to the value of the nameless block counter B is recorded into a nameless block variable array B; step S520: the group value of the straight line with the group code equal to the value of the straight line counter is recorded into a straight line variable array L; step S530: the group value of the text with the group code equal to the value of the text counter D is recorded into a text variable array D; step S540: adding one to the nameless block counter b to give the nameless block counter b, adding one to the linear counter l to give the linear counter l, and adding one to the text counter d to give the text counter d; step S550: and judging whether the value of the anonymous block counter b is smaller than the maximum upper limit value or the value of the linear counter l is smaller than the maximum upper limit value or the value of the text counter d is smaller than the maximum upper limit value, if so, returning to the step S510, and if not, ending the process.
Further, the processing of the thumbnail DXF file specifically includes: wherein step S600 is performed after step S520; step S600: judging whether the straight line represented by the adjacent value of the straight line counter l meets the following conditions: if the conditions of two horizontal straight lines and one vertical straight line are met, performing step S610a, and if the conditions are not met, performing step S610 b; step S610 a: after the high marking line is determined, step S620a is performed; step S620 a: after calculating the distance between the two horizontal lines and recording the value into the variable array H, returning to the step S530; step S610 b: judging whether the straight line represented by the adjacent value of the straight line counter l meets the following conditions: if the conditions of two vertical straight lines and one horizontal straight line are met, performing step S620b, and if the conditions are not met, returning to step S530; step S620 b: determining as the standard width marking line, and performing step S630 b; step S630 b: after calculating the distance between the two vertical marking lines and recording the value into the variable array V, the process returns to step S530.
Further, the matching of the preprocessed vertical drawing DXF file and the size parameter information extracted from the large drawing DXF file specifically includes: step S700: positioning rectangles in the DXF file of the elevation map after error correction and data arrangement to obtain coordinate values of the centers of the rectangles; step S710: marking rectangles in the DXF file of the elevation map after error correction and data arrangement, and setting a marking variable array G for storing coordinate values of the centers of the rectangles and corresponding marking values; step S720: setting a size array H according to size parameter information extracted from a DXF file of a big sample diagram; step S730: calculating a similarity value according to the variable array G and the size array H: psimilarity=w0*Pposition+w1*Psize+w2*Pneighbor(ii) a Wherein w0Is a position similarity weight, w1Is a size similarity weight, w2For adjacent glass similarity weight, PpositionIs the position similarity, PsizeIs the size similarity, PneighborThe adjacent glass similarity; ppositionThe position similarity is a corresponding value in the variable array G; psizeThe size similarity is a corresponding value in a size array H; pneighborThe adjacent glass similarity is the result of multiplying the corresponding value in the transposed mark variable array G by the corresponding value in the size array H; step S740: establishing a facade after error correction and data arrangement according to similar calculation resultsAnd mapping the relationship between the glass of the graph DXF and the size parameter information extracted from the DXF file of the large sample graph, selecting the glass with the highest similarity, and taking the size of the glass with the highest similarity as the size measurement result of the glass.
Has the advantages that:
according to the method for automatically measuring and calculating the curtain wall glass, the DXF file of the elevation drawing is preprocessed, and the preprocessing comprises correcting errors caused by artificial drawing and sorting data; the processing of subsequent data is facilitated; processing the DXF file of the big sample diagram, and extracting size parameter information in the DXF file of the big sample diagram; matching the preprocessed vertical drawing DXF file with the size parameter information extracted from the large drawing DXF file, and establishing a mapping relation between the glass in the vertical drawing DXF and the size parameter information extracted from the large drawing DXF file after error correction and data arrangement; the method for automatically measuring and calculating the curtain wall glass has the advantages of automatic matching, high efficiency and high speed for processing a large number of DXF files and high accuracy.
The features and advantages of the present invention will be described in detail by embodiments in conjunction with the accompanying drawings.
[ description of the drawings ]
Fig. 1 is a flowchart illustrating specific steps of processing a start coordinate in a condition that whether a line segment is a component of a rectangle and whether the rectangle formed by the line segment is closed is determined according to an embodiment of the present invention;
fig. 2 is a flowchart illustrating specific steps of processing a start coordinate in a condition that whether a line segment is a component of a rectangle and whether the rectangle formed by the line segment is closed is determined according to an embodiment of the present invention;
FIG. 3 is a flow chart of a process for generating a DXF file according to a starting point of an elevation view DXF file where data is not to be connected according to an embodiment of the present invention;
FIG. 4 is a flow chart illustrating a process for processing an unconnected endpoint according to data in an elevation DXF file according to an embodiment of the present invention;
FIG. 5 is a flowchart illustrating processing of a thumbnail DXF file according to an embodiment of the present invention;
FIG. 6 is a flowchart illustrating extracting size parameter information from a DXF file of a thumbnail according to an embodiment of the present invention;
FIG. 7 is a flowchart illustrating matching of preprocessed DXF files to size parameter information extracted from a thumbnail DXF file according to an embodiment of the present invention;
fig. 8 is a flowchart of a method for automatically measuring and calculating the size of curtain wall glass according to an embodiment of the present invention.
[ detailed description ] embodiments
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
The elevation is a drawing of the elevation of a building, which is a plane view of all floors of a building, and has related line information such as stone materials, glass windows and the like, the proof chart is an enlarged view of a specific structure in the elevation, and materials and specific dimensions are marked in the proof chart. In the elevation, the glass curtain wall consists of sub-areas at a distance from each other, each sub-area being considered as a non-communicating different storey or as a different unit of glass curtain wall. Each sub-area is composed of a plurality of rectangular areas adjacent to each other, the rectangular areas are the smallest unit of the discrete glass, the smallest unit of the discrete glass can adopt the same specification or different specifications, but each smallest unit of the discrete glass and the adjacent smallest unit of the discrete glass are separated from each other by a certain distance. And each minimum unit of discrete glass is completely enclosed.
If four sides of the discrete glass in the curtain wall glass area in the elevation are not completely sealed, the size or the shape of the discrete glass cannot be determined, the discrete glass which is integrally rectangular and other objects with irregular shapes, such as stairs and wall surfaces, cannot be distinguished from the elevation according to the characteristic that the discrete glass is rectangular, further subsequent processing cannot be performed, parameters such as the shape and the size of each discrete glass cannot be determined, the areas and the positions of different sub-domains cannot be determined, and problems can be caused in subsequent data processing.
The embodiment of the invention provides a method for automatically measuring and calculating the size of curtain wall glass. Preprocessing a DXF file of an elevation map, wherein the preprocessing comprises correcting errors caused by artificial drawing and sorting data; processing the DXF file of the big sample diagram, and extracting size parameter information in the DXF file of the big sample diagram; matching the preprocessed vertical drawing DXF file with the size parameter information extracted from the large drawing DXF file, and establishing a mapping relation between the glass in the vertical drawing DXF and the size parameter information extracted from the large drawing DXF file after error correction and data arrangement; and obtaining the sizes of all curtain wall glass in the DXF file of the facade map according to the mapping relation.
Wherein, correcting errors caused by artificial drawing and sorting data comprises three steps:
the method comprises the following steps: judging whether a line segment is a rectangular component and simultaneously meeting the condition of whether a rectangle composed of the line segment is closed, wherein the condition needs to be respectively processing a starting point coordinate and an end point coordinate;
step two: classifying the unconnected end points according to data in the DXF file of the elevation map, wherein the unconnected end points need to be processed by a start point coordinate and an end point coordinate respectively; the coordinates of the unconnected end points with the distance between the nearest end point and the preset threshold range are reset, the new coordinate value is equal to the coordinate value of the nearest end point of the end point, and the unconnected end points with the distance between the nearest end point and the preset threshold range do not need to be processed;
step three: by merging two parallel straight lines whose distance is less than a set minimum distance threshold into one straight line.
In the embodiment of the invention, a method for automatically measuring and calculating the size of curtain wall glass is provided. In the first step, the DXF file of the opposite drawing is processed, so that errors caused by artificial drawing are removed and corrected, data are sorted, and the subsequent data processing is facilitated. Especially, in processing the DXF file, the CAD graphic data is recorded in the DXF file by the rule specific to the DXF file, the structure of the DXF file is quite complex, and completely reading the DXF file is an extremely tedious work. In the present embodiment, in order to extract the graph and size information in the elevation and the thumbnail, many entries in the DXF file may be omitted, and the description of the corresponding geometric graph may be completed as long as the layer table, the block segment, and the entity segment are obtained.
In an embodiment of the invention, the profile graphic error is first corrected and the data is collated, wherein the main purpose of correcting the graphic error is to find and correct the four edges of the discrete glass which are not completely sealed. Because the embodiment of the invention provides a method for automatically measuring and calculating the curtain wall glass, the shape of the separated curtain wall glass in the elevation view is rectangular, so that only line segments forming four sides of the rectangle need to be considered. Other shaped elements of the facade, such as a triangular roof, a circular dome, a trapezoidal rail, etc., need not be considered.
The process of correcting the vertical map mainly comprises the following steps:
the attributes of all straight lines in the solid segment in the facade drawing DXF file are obtained.
The first is to judge whether a line segment is a rectangular component and whether the rectangle formed by the line segment is closed; in the whole process of judging whether the rectangle formed by the line segments is closed or not; acquiring information about a 'segment starting point' and a 'segment end point' of each segment, wherein the 'segment starting point' and the 'segment end point' information comprise 'starting point coordinates of the segment' and 'end point coordinates of the segment', and associating the starting point and the end point of the same segment, and if the starting point of one segment is the starting point or the end point of another segment at the same time, the starting point of the segment is connected with other segments; the end point is simultaneously the starting point or the end point of the other straight line, and the end point of the line segment is connected with the other straight line; if the end point of one line segment is not the end point of another line, the end point is not connected by other lines, and the starting point or the end point which is not connected needs to be found and stored in the corresponding data variable, so that the subsequent operation on the points is convenient. In this embodiment, the start point of any line segment is compared with the end points of all other line segments one by one, and if the coordinates of the start point of the line segment are the same as the coordinates of the end points of a certain line segment, the start points of the line segment are connected; then comparing the end point of any line segment with the start points of all other line segments one by one, if the coordinates of the start point of the line segment are the same as the coordinates of the end point of a line segment, the end point of the line segment is connected.
As shown in fig. 1, the specific steps are as follows:
step S100: setting a segment counter i and initializing the segment counter;
step S110: adding one to the value of the segment counter i and then endowing the value of the segment counter i to the segment counter i again;
step S120: setting a comparison counter j and setting an initial value of the comparison counter j to be zero;
step S130: adding one to the value of the comparison counter j and then endowing the value of the comparison counter j again;
step S140: judging whether the value of the segment counter i is equal to the value of the comparison counter j, and returning to the step S130 if the value of the segment counter i is equal to the value of the comparison counter j; if the value of the segment counter i is not equal to the value of the comparison counter j, performing step S150;
step S150: setting a segment start variable and a segment end variable, storing segment start coordinates with a label equal to the current segment technician i value into the segment start variable SPi, storing segment start coordinates with a label equal to the compare counter j value into the segment start variable SPj, and storing segment end coordinates with a label equal to the compare counter j value into the segment end variable EPj.
Step S160: determining whether the value stored in the segment start variable SPi is equal to the value in the segment start variable SPj or the segment end variable EPj; if the value of the variable SPi is equal to the value stored in the variable SPj or the variable EPj, step S170 is performed, and if the value of the variable SPi is not equal to the value stored in the variable SPj or the variable EPj, step S180 is performed.
Step S170: judging whether the value currently stored in the segment counter i is smaller than the upper limit value of the segment counter; if the value of the segment counter i is smaller than the upper limit value of the segment counter, returning to the step S110; and if the value of the segment counter i is smaller than the upper limit value of the segment counter, ending.
Step S180: judging whether the value of the current comparison counter j is smaller than the upper limit value of the comparison counter j; if the value of the comparison counter j is smaller than the upper limit value of the comparison counter j, returning to the step S130; if the value of the comparison counter j is smaller than the upper limit value of the comparison counter j, the process proceeds to step S190.
Step S190: after i is output, the process returns to step S170.
And similarly, judging the end point coordinates of all line segments in the dxf file, and screening out the isolated line segment end points without other line segment connection. Fig. 2 is a flowchart illustrating specific steps of processing a start coordinate in a condition that whether a line segment is a component of a rectangle and whether the rectangle formed by the line segment is closed is determined according to an embodiment of the present invention; as shown in fig. 2:
step S200: setting a segment counter i and initializing the segment counter;
step S210: adding one to the value of the segment counter i and then endowing the value of the segment counter i to the segment counter i again;
step S220: setting a comparison counter j and setting an initial value of the comparison counter j to be zero;
step S230: adding one to the value of the comparison counter j and then endowing the value of the comparison counter j again;
step S240: judging whether the value of the segment counter i is equal to the value of the comparison counter j, and returning to the step S230 if the value of the segment counter i is equal to the value of the comparison counter j; if the value of the segment counter i is not equal to the value of the comparison counter j, performing step S250;
step S250: setting a segment start variable and a segment end variable, storing segment end coordinates with the label equal to the value of the current segment technical device i into the segment end variable EPi, storing segment start coordinates with the label equal to the value of the comparison counter j into the segment start variable SPj, and storing segment end coordinates with the label equal to the value of the comparison counter j into the segment end variable EPj.
Step S260: determining whether the value stored in the segment end variable EPi is equal to the value in the segment start variable SPj or the segment end variable EPj; if the value of the variable EPi is equal to the value stored in the variable SPj or the variable EPj, step S270 is performed, and if the value of the variable EPi is not equal to the value stored in the variable SPj or the variable EPj, step S280 is performed.
Step S270: judging whether the value currently stored in the segment counter i is smaller than the upper limit value of the segment counter; if the value of the segment counter i is smaller than the upper limit value of the segment counter, returning to the step S210; and if the value of the segment counter i is smaller than the upper limit value of the segment counter, ending.
Step S280: judging whether the value of the current comparison counter j is smaller than the upper limit value of the comparison counter j; if the value of the comparison counter j is smaller than the upper limit value of the comparison counter j, returning to the step S230; if the value of the comparison counter j is smaller than the upper limit value of the comparison counter j, the process proceeds to step S290.
Step S290: after i is output, the process returns to step S270.
However, in the elevation view, there are also rectangular elements that are not completely closed, for example, a wall surface that is rectangular as a whole but has some sides not closed, and these rectangular elements that are not closed do not need to be processed and need to be distinguished from rectangular glass. The next step needs to be performed: and classifying the unconnected end points according to the data in the DXF file of the elevation map, resetting the coordinates of the unconnected end points with the distance from the nearest end point within a preset threshold range, wherein the new coordinate value is equal to the coordinate value of the nearest end point of the end point.
Fig. 3 is a flowchart of processing unconnected starting points according to data in an elevation DXF file according to an embodiment of the present invention, where the specific steps are divided into two steps, that is, processing the coordinates of the starting point and processing the coordinates of the end point, where the specific steps of processing the coordinates of the starting point are as follows:
as shown in fig. 3, wherein step S300 is performed subsequent to step S190.
Step S300: storing the starting point x coordinate of a line segment with the serial number equal to the current output i value into a variable Xs, storing the line segment end point x coordinate into a variable Xe, storing the starting point y coordinate of a line segment with the serial number equal to the current output i value into a variable Ys, and storing the line segment end point y coordinate into a variable Ye;
step S310: judging whether the value stored in the variable Xs is equal to the value stored in the variable Xe, if so, performing step S320a, and if not, performing step S320 b;
step S320 a: storing the coordinate value of the point where the x coordinate is equal to the value of the variable Xs in the variable array An, and performing step S330 a;
step S330 a: calculating the distances between all points in the variable array An and the starting point of the line segment with the sequence number equal to the current output value i, storing the distances into a variable array ran, and performing step S340 a;
step S340 a: recording the minimum value in the variable array ran into the variable ramin, recording the coordinate of the target point corresponding to the minimum value into the variable array T, and performing the step S350;
step S320 b: storing the coordinate value of the point with the y coordinate equal to the Ys value of the variable to the variable array Bn, and performing step S330 b;
step S330 b: calculating the distances between all points in the variable array Bn and the starting point of the line segment with the sequence number equal to the current output i value, storing the distances into the variable array rbn, and performing step S340 b;
step S340 b: recording the minimum value in the variable array rbn into a variable rbmin, recording the coordinate of the point corresponding to the minimum value into a variable array T, and performing step S350;
step S350: and judging whether the value of the variable ramin or the variable rbmin is smaller than a set threshold, if so, assigning the coordinate in the array variable T to the start coordinate of the line segment with the serial number equal to the current output value i and returning to the step S170, and if so, returning to the step S170.
FIG. 4 is a flow chart illustrating a process for processing an unconnected endpoint according to data in an elevation DXF file according to an embodiment of the present invention; as shown in fig. 4, the specific steps of processing the end point coordinates are as follows:
wherein step S400 is performed subsequent to step S290.
Step S400: storing the starting point x coordinate of a line segment with the serial number equal to the current output i value into a variable Xs, storing the line segment end point x coordinate into a variable Xe, storing the starting point y coordinate of a line segment with the serial number equal to the current output i value into a variable Ys, and storing the line segment end point y coordinate into a variable Ye;
step S410: judging whether the value stored in the variable Xe is equal to the value stored in the variable Xs, if so, performing step S420a, and if not, performing step S420 b;
step S420 a: storing the coordinate value of the x coordinate equal to the variable Xe value point in the variable array An, and performing step S430 a;
step S430 a: calculating the distances between all points in the variable array An and the line segment end point with the sequence number equal to the current output value i, storing the distances into a variable array ran, and performing step S440 a;
step S440 a: recording the minimum value in the variable array ran into the variable ramin, recording the coordinate of the target point corresponding to the minimum value into the variable array T, and performing the step S450;
step S420 b: storing the coordinate value of the point with the y coordinate equal to the Ys value of the variable to the variable array Bn, and performing the step S430 b;
step S430 b: calculating the distances between all points in the variable array Bn and the line segment end point with the sequence number equal to the current output i value, storing the distances into the variable array rbn, and performing step S440 b;
step S440 b: recording the minimum value in the variable array rbn into a variable rbmin, recording the coordinate of the point corresponding to the minimum value into a variable array T, and performing step S450;
step S450: and judging whether the value of the variable ramin or the variable rbmin is smaller than a set threshold, if so, assigning the coordinates in the array variable T to the end point coordinates of the line segment with the serial number equal to the current output i value and returning to the step S270, and if so, returning to the step S270.
According to the above flow, if the starting point or the ending point of a certain line segment is not connected, the starting point or the ending point which is not connected is connected to the ending point or the starting point which is within the threshold range, is connected to the threshold range, and is matched with the starting point or the ending point.
In other embodiments, the entity object is size-attached based on whether the size definition name, the start point of the size definition, the end point coordinates match the entity type name, the entity space. On the drawing parameters, parameters that can be defined are added to the layer total. When a parameter is added to the size end point, the accuracy of the value can be ensured by adding a plurality of data.
In the present invention, a large sample diagram is required to be processed, the large sample diagram is an enlargement of a specific structure of an elevation diagram, size parameter information of the specific structure is included in the large sample diagram, the size parameter information is displayed in a marked form, in cad, the marked size is processed through a nameless block, and in a DXF file, size data is processed in the same way. And DXF files are composed of a series of groups. Each group takes two rows, the first row is a group code, and the second row is a group value. The group code indicates the type of data and the group value indicates the value of the data. Thus, dimensioning with a DXF file requires determining a set of values for the nameless block name. Conventional dimensioning generally has to be handled as a breakdown of dimensions into lines, arrows and text, where the arrows are defined as blocks in the prototype file. Fig. 5 is a flowchart of processing a thumbnail DXF file according to an embodiment of the present invention, as shown in fig. 5:
step S500: setting a nameless block counter b and initializing a nameless block counter b, setting a straight line counter l and initializing a straight line counter l, setting a text counter d and initializing a text counter d;
step S510: the group value of the nameless block with the group code equal to the value of the nameless block counter B is recorded into a nameless block variable array B;
step S520: the group value of the straight line with the group code equal to the value of the straight line counter is recorded into a straight line variable array L;
step S530: the group value of the text with the group code equal to the value of the text counter D is recorded into a text variable array D;
step S560: adding one to the nameless block counter b to give the nameless block counter b, adding one to the linear counter l to give the linear counter l, and adding one to the text counter d to give the text counter d;
step S570: and judging whether the value of the anonymous block counter b is smaller than the maximum upper limit value or the value of the linear counter l is smaller than the maximum upper limit value or the value of the text counter d is smaller than the maximum upper limit value, if so, returning to the step S510, and if not, ending the process.
In other embodiments, a step of dividing the label into an elevation and a width according to the data in the linear variable array L in the flow from step S500 to step S570 and determining the size of the label again by calculating the distance between the lines is further included. The CAD drawings are marked with: and marking modes such as alignment marking, linear marking, radius marking, angle marking and the like. The marking mode adopted by the line segments forming the curtain wall glass is an alignment marking method or a linear marking method, and the marking method is characterized in that: the elevation features are composed of two horizontal marking lines and one vertical marking line or a range oblique line with 45 degrees. The marking width is characterized by consisting of a horizontal marking line and two vertical marking lines or a range oblique line with 135 degrees. Therefore, the classification method determines for the elevation information: and determining the size as an elevation type through the elevation characteristics, wherein the distance between the two horizontal lines is the size of the size marking characters. If the two are matched, the position and the size information of the correct elevation information are obtained; if the two are not matched, the elevation information is not correct, and the elevation information is not recorded. And the standard width information can be obtained in the same way.
Fig. 6 is a flowchart of extracting size parameter information from a DXF file of a thumbnail image according to an embodiment of the present invention, as shown in fig. 6, the specific steps are as follows: wherein step S600 is performed after step S520.
Step S600: judging whether the straight line represented by the adjacent value of the straight line counter l meets the following conditions: if the conditions of two horizontal straight lines and one vertical straight line are met, performing step S610a, and if the conditions are not met, performing step S610 b;
step S610 a: after the high marking line is determined, step S620a is performed;
step S620 a: after calculating the distance between the two horizontal lines, returning to step S530;
step S610 b: judging whether the straight line represented by the adjacent value of the straight line counter l meets the following conditions: if the conditions of two vertical straight lines and one horizontal straight line are met, performing step S620b, and if the conditions are not met, returning to step S530;
step S620 b: determining as the standard width marking line, and performing step S630 b;
step S630 b: after calculating the distance between the two vertical marking lines, the process returns to step S530.
In other embodiments the elevation and target width information is augmented to increase the abundance of the dimension. And performing cross expansion on the size labels, such as: one 200 size and one 300 size, one 500 size may be added.
In the embodiment of the invention, after the size data of the curtain wall glass in the rough drawing is extracted, the data of the curtain wall glass and the curtain wall glass in the elevation drawing need to be matched to establish a mapping relation. Because the size data of the curtain wall glass in the large sample graph is stored in the corresponding variable array by taking a piece of discrete curtain wall glass as a unit, but the curtain wall glass in the elevation graph often exists in a mode that a plurality of pieces of discrete curtain wall glass are combined together to form a sub-area, the glass of each curtain wall glass sub-area in the elevation graph is accurately matched with the discrete glass parameters stored in the large sample graph one by one, and the method step of calculating the similarity is needed. Fig. 7 is a flowchart for matching the preprocessed vertical drawing DXF file with the size parameter information extracted from the thumbnail DXF file according to an embodiment of the present invention, where as shown in fig. 7, the calculation of similarity between the thumbnail and the vertical drawing specifically includes the following steps:
step S700: positioning rectangles in the DXF file of the elevation map after error correction and data arrangement to obtain coordinate values of the centers of the rectangles;
step S710: marking rectangles in the DXF file of the elevation map after error correction and data arrangement, and setting a marking variable array G for storing coordinate values of the centers of the rectangles and corresponding marking values;
step S720: setting a size array H according to size parameter information extracted from a DXF file of a big sample diagram;
step S730: calculating a similarity value according to the variable array G and the size array H: psimilarity=w0*Pposition+w1*Psize+w2*Pneighbor
Wherein w0Is a position similarity weight, w1Is a size similarity weight, w2For adjacent glass similarity weight, PpositionIs the position similarity, PsizeIs the size similarity, PneighborThe adjacent glass similarity; ppositionThe position similarity is a corresponding value in the variable array G; psizeThe size similarity is a corresponding value in a size array H; pneighborThe adjacent glass similarity is the result of multiplying the corresponding value in the transposed mark variable array G by the corresponding value in the size array H;
step S740: and establishing a relation mapping between the glass of the vertical drawing DXF after error correction and data arrangement and size parameter information extracted from a large drawing DXF file according to a similarity calculation result, selecting the glass with the highest similarity, and taking the glass with the highest similarity as a size measurement result of the glass.
In the present embodiment, it should be understood that, although the respective steps in the flowcharts of fig. 1 to 8 are sequentially shown as indicated by arrows, the steps are not necessarily sequentially executed in the order indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least some of the steps in fig. 1-8 may include multiple sub-steps or multiple stages that are not necessarily performed at the same time, but may be performed at different times, and the order of performance of the sub-steps or stages is not necessarily sequential, but may be performed in turn or alternating with other steps or at least some of the sub-steps or stages of other steps.
The above embodiments are illustrative of the present invention, and are not intended to limit the present invention, and any simple modifications of the present invention are within the scope of the present invention.

Claims (9)

1. A method for automatically measuring and calculating the size of curtain wall glass is characterized by comprising the following steps:
preprocessing a DXF file of the elevation map, wherein the preprocessing comprises correcting errors caused by artificial drawing and sorting data;
processing the DXF file of the big sample diagram, and extracting size parameter information in the DXF file of the big sample diagram;
matching the preprocessed vertical drawing DXF file with the size parameter information extracted from the large drawing DXF file, and establishing a mapping relation between the glass in the vertical drawing DXF and the size parameter information extracted from the large drawing DXF file after error correction and data arrangement;
and obtaining the sizes of all curtain wall glass in the DXF file of the facade map according to the mapping relation.
2. The method for automatically measuring and calculating the size of curtain wall glass according to claim 1, wherein the preprocessing of the DXF file comprises three steps:
the method comprises the following steps: judging whether a line segment is a rectangular component and whether a rectangle formed by the line segment is closed or not, and respectively processing a starting point coordinate and an end point coordinate;
step two: classifying the unconnected end points according to data in the DXF file of the elevation map, and respectively processing the coordinates of the starting point and the coordinates of the end point; the coordinates of the unconnected end points with the distance between the nearest end point and the preset threshold range are reset, the new coordinate value is equal to the coordinate value of the nearest end point of the end point, and the unconnected end points with the distance between the nearest end point and the preset threshold range are not processed;
step three: by merging two parallel straight lines whose distance is less than a set minimum distance threshold into one straight line.
3. The method for automatically measuring and calculating the dimension of the glass of the curtain wall as claimed in claim 2, wherein the step of processing the coordinates of the starting point comprises the following specific steps:
step S100: setting a segment counter i and initializing the segment counter;
step S110: adding one to the value of the segment counter i and then endowing the value of the segment counter i to the segment counter i again;
step S120: setting a comparison counter j and setting an initial value of the comparison counter j to be zero;
step S130: adding one to the value of the comparison counter j and then endowing the value of the comparison counter j again;
step S140: judging whether the value of the segment counter i is equal to the value of the comparison counter j, and returning to the step S130 if the value of the segment counter i is equal to the value of the comparison counter j; if the value of the segment counter i is not equal to the value of the comparison counter j, performing step S150;
step S150: setting segment starting point variables and segment ending point variables, storing segment starting point coordinates with the label equal to the value of the current segment counter i into the segment starting point variables SPi, storing segment starting point coordinates with the label equal to the value of the comparison counter j into the segment starting point variables SPj, and storing segment ending point coordinates with the label equal to the value of the comparison counter j into the segment ending point variables EPj;
step S160: determining whether the value stored in the segment start variable SPi is equal to the value in the segment start variable SPj or the segment end variable EPj; if the value of the variable SPi is equal to the value stored in the variable SPj or the variable EPj, performing step S170, and if the value of the variable SPi is not equal to the value stored in the variable SPj or the variable EPj, performing step S180;
step S170: judging whether the value currently stored in the segment counter i is smaller than the upper limit value of the segment counter; if the value of the segment counter i is smaller than the upper limit value of the segment counter, returning to the step S110; if the value of the segment counter i is smaller than the upper limit value of the segment counter, the process is ended;
step S180: judging whether the value of the current comparison counter j is smaller than the upper limit value of the comparison counter j; if the value of the comparison counter j is smaller than the upper limit value of the comparison counter j, returning to the step S130; if the value of the comparison counter j is smaller than the upper limit value of the comparison counter j, performing step S190;
step S190: after the current segment counter i is output, the process returns to step S170.
4. The method for automatically measuring and calculating the dimension of the glass of the curtain wall as claimed in claim 2, wherein the step of processing the end point coordinates comprises the following specific steps:
step S200: setting a segment counter i and initializing the segment counter;
step S210: adding one to the value of the segment counter i and then endowing the value of the segment counter i to the segment counter i again;
step S220: setting a comparison counter j and setting an initial value of the comparison counter j to be zero;
step S230: adding one to the value of the comparison counter j and then endowing the value of the comparison counter j again;
step S240: judging whether the value of the segment counter i is equal to the value of the comparison counter j, and returning to the step S230 if the value of the segment counter i is equal to the value of the comparison counter j; if the value of the segment counter i is not equal to the value of the comparison counter j, performing step S250;
step S250: setting a segment starting point variable and a segment end point variable, storing a segment end point coordinate with the label equal to the value of the current segment technical device i into a segment end point variable EPi, storing a segment starting point coordinate with the label equal to the value of a comparison counter j into a segment starting point variable SPj, and storing a segment end point coordinate with the label equal to the value of the comparison counter j into a segment end point variable EPj;
step S260: determining whether the value stored in the segment end variable EPi is equal to the value in the segment start variable SPj or the segment end variable EPj; if the value of the variable EPi is equal to the value stored in the variable SPj or the variable EPj, the step S270 is performed, and if the value of the variable EPi is not equal to the value stored in the variable SPj or the variable EPj, the step S280 is performed;
step S270: judging whether the value currently stored in the segment counter i is smaller than the upper limit value of the segment counter; if the value of the segment counter i is smaller than the upper limit value of the segment counter, returning to the step S210; if the value of the segment counter i is smaller than the upper limit value of the segment counter, the process is ended;
step S280: judging whether the value of the current comparison counter j is smaller than the upper limit value of the comparison counter j; if the value of the comparison counter j is smaller than the upper limit value of the comparison counter j, returning to the step S230; if the value of the comparison counter j is smaller than the upper limit value of the comparison counter j, the step S290 is performed;
step S290: after the current segment counter i is output, the process returns to step S270.
5. The method for automatically measuring and calculating the dimension of the glass of the curtain wall as claimed in claim 3, wherein the processing of the coordinates of the starting point in the second step specifically comprises:
wherein step S300 is performed subsequent to step S190;
step S300: storing the starting point x coordinate of a line segment with the serial number equal to the current output i value into a variable Xs, storing the line segment end point x coordinate into a variable Xe, storing the starting point y coordinate of a line segment with the serial number equal to the current output i value into a variable Ys, and storing the line segment end point y coordinate into a variable Ye;
step S310: judging whether the value stored in the variable Xs is equal to the value stored in the variable Xe, if so, performing step S320a, and if not, performing step S320 b;
step S320 a: after storing the coordinate value of the point where the x coordinate is equal to the value of the variable Xs in the variable array An, performing step S330 a;
step S330 a: calculating the distances between all points in the variable array An and the starting point of the line segment with the sequence number equal to the current output value i, and storing the distances into the variable array ran, and then performing step S340 a;
step S340 a: recording the minimum value in the variable array ran into the variable ramin, and recording the coordinate of the target point corresponding to the minimum value into the variable array T, and then performing step S350;
step S320 b: after storing the coordinate value of the point where the y coordinate is equal to the Ys value of the variable to the variable array Bn, performing step S330 b;
step S330 b: after calculating the distances between all points in the variable array Bn and the starting point of the line segment with the sequence number equal to the current output i value and storing the distances into the variable array rbn, performing step S340 b;
step S340 b: step S350 is performed after the minimum value in the variable array rbn is recorded into a variable rbmin and the coordinate of the point corresponding to the minimum value is recorded into a variable array T;
step S350: and judging whether the value of the variable ramin or the variable rbmin is smaller than a set threshold, if so, assigning the coordinate in the array variable T to the start coordinate of the line segment with the serial number equal to the current output value i and returning to the step S170, and if so, returning to the step S170.
6. The method for automatically measuring and calculating the size of the curtain wall glass as claimed in claim 4, wherein the step of processing the two pairs of end point coordinates comprises the following specific steps:
wherein step S400 is performed after step S290;
step S400: storing the starting point x coordinate of a line segment with the serial number equal to the current output i value into a variable Xs, storing the line segment end point x coordinate into a variable Xe, storing the starting point y coordinate of a line segment with the serial number equal to the current output i value into a variable Ys, and storing the line segment end point y coordinate into a variable Ye;
step S410: judging whether the value stored in the variable Xe is equal to the value stored in the variable Xs, if so, performing step S420a, and if not, performing step S420 b;
step S420 a: storing the coordinate value of the x coordinate equal to the variable Xe value point in the variable array An, and performing step S430 a;
step S430 a: calculating the distances between all points in the variable array An and the line segment end point with the sequence number equal to the current output value i, storing the distances into a variable array ran, and performing step S440 a;
step S440 a: recording the minimum value in the variable array ran into the variable ramin, recording the coordinate of the point corresponding to the minimum value into the variable array T, and performing step S450;
step S420 b: storing the coordinate value of the point with the y coordinate equal to the Ys value of the variable to the variable array Bn, and performing the step S430 b;
step S430 b: calculating the distances between all points in the variable array Bn and the line segment end point with the sequence number equal to the current output i value, storing the distances into the variable array rbn, and performing step S440 b;
step S440 b: recording the minimum value in the variable array rbn into a variable rbmin, recording the coordinate of the point corresponding to the minimum value into a variable array T, and performing step S450;
step S450: and judging whether the value of the variable ramin or the variable rbmin is smaller than a set threshold, if so, assigning the coordinate in the variable array T to the end point coordinate of the line segment with the serial number equal to the current output i value and returning to the step S270, and if so, returning to the step S270.
7. The method for automatically measuring and calculating the size of curtain wall glass according to claim 1, wherein the specific steps of processing the DXF file of the thumbnail image comprise:
step S500: setting a nameless block counter b and initializing a nameless block counter b, setting a straight line counter l and initializing a straight line counter l, setting a text counter d and initializing a text counter d;
step S510: the group value of the nameless block with the group code equal to the value of the nameless block counter B is recorded into a nameless block variable array B;
step S520: the group value of the straight line with the group code equal to the value of the straight line counter is recorded into a straight line variable array L;
step S530: the group value of the text with the group code equal to the value of the text counter D is recorded into a text variable array D;
step S540: adding one to the nameless block counter b to give the nameless block counter b, adding one to the linear counter l to give the linear counter l, and adding one to the text counter d to give the text counter d;
step S550: and judging whether the value of the anonymous block counter b is smaller than the maximum upper limit value or the value of the linear counter l is smaller than the maximum upper limit value or the value of the text counter d is smaller than the maximum upper limit value, if so, returning to the step S510, and if not, ending the process.
8. The method for automatically measuring and calculating the size of curtain wall glass according to claim 7, further comprising:
wherein step S600 is performed after step S520;
step S600: judging whether the straight line represented by the adjacent value of the straight line counter l meets the following conditions: if the conditions of two horizontal straight lines and one vertical straight line are met, performing step S610a, and if the conditions are not met, performing step S610 b;
step S610 a: after the high marking line is determined, step S620a is performed;
step S620 a: after calculating the distance between the two horizontal lines and recording the value into the variable array H, returning to the step S530;
step S610 b: judging whether the straight line represented by the adjacent value of the straight line counter l meets the following conditions: if the conditions of two vertical straight lines and one horizontal straight line are met, performing step S620b, and if the conditions are not met, returning to step S530;
step S620 b: determining as the standard width marking line, and performing step S630 b;
step S630 b: after calculating the distance between the two vertical marking lines and recording the value into the variable array V, the process returns to step S530.
9. The method for automatically measuring and calculating the size of the curtain wall glass as claimed in claim 1, wherein the matching of the preprocessed vertical drawing DXF file and the size parameter information extracted from the large drawing DXF file specifically comprises:
step S700: positioning rectangles in the DXF file of the elevation map after error correction and data arrangement to obtain coordinate values of the centers of the rectangles;
step S710: marking rectangles in the DXF file of the elevation map after error correction and data arrangement, and setting a marking variable array G for storing coordinate values of the centers of the rectangles and corresponding marking values;
step S720: setting a size array H according to size parameter information extracted from a DXF file of a big sample diagram;
step S730: calculating a similarity value according to the variable array G and the size array H: psimilarity=w0*Pposition+w1*Psize+w2*Pneighbor
Wherein w0Is a position similarity weight, w1Is a size similarity weight, w2For adjacent glass similarity weight, PpositionIs the position similarity, PsizeIs the size similarity, PneighborThe adjacent glass similarity; ppositionThe position similarity is a corresponding value in the variable array G; psizeThe size similarity is a corresponding value in a size array H; pneighborThe adjacent glass similarity is the result of multiplying the corresponding value in the transposed mark variable array G by the corresponding value in the size array H;
step S740: establishing a relation mapping of glass of the vertical drawing DXF after error correction and data arrangement and size parameter information extracted from a large drawing DXF file according to a similar calculation result, and using a similarity value PsimilarityThe highest glass size was used as the result of the measurement of the size of the glass.
CN202011437526.8A 2020-12-07 2020-12-07 Method for automatically measuring and calculating size of curtain wall glass Active CN112507436B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011437526.8A CN112507436B (en) 2020-12-07 2020-12-07 Method for automatically measuring and calculating size of curtain wall glass

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011437526.8A CN112507436B (en) 2020-12-07 2020-12-07 Method for automatically measuring and calculating size of curtain wall glass

Publications (2)

Publication Number Publication Date
CN112507436A true CN112507436A (en) 2021-03-16
CN112507436B CN112507436B (en) 2021-09-28

Family

ID=74970610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011437526.8A Active CN112507436B (en) 2020-12-07 2020-12-07 Method for automatically measuring and calculating size of curtain wall glass

Country Status (1)

Country Link
CN (1) CN112507436B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907850A (en) * 1994-12-23 1999-05-25 Gary Matthew Krause Method and system for manipulating construction blueprint documents with hypermedia hotspot reference links from a first construction document to a related secondary construction document
CN102568038A (en) * 2011-12-28 2012-07-11 西北工业大学 Method for translating dimensions on two-dimensional engineering drawing to three-dimensional CAD (computer aided design) model
CN109992865A (en) * 2019-03-22 2019-07-09 成都工业职业技术学院 A method of handling absolute altitude in AutoCAD engineering drawing
CN111506686A (en) * 2020-03-26 2020-08-07 河南师慧信息技术有限公司 Processing method and device based on house CAD graph and data association
CN111914318A (en) * 2020-06-05 2020-11-10 深圳小库科技有限公司 Method and device for automatically generating building elevation map

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907850A (en) * 1994-12-23 1999-05-25 Gary Matthew Krause Method and system for manipulating construction blueprint documents with hypermedia hotspot reference links from a first construction document to a related secondary construction document
CN102568038A (en) * 2011-12-28 2012-07-11 西北工业大学 Method for translating dimensions on two-dimensional engineering drawing to three-dimensional CAD (computer aided design) model
CN109992865A (en) * 2019-03-22 2019-07-09 成都工业职业技术学院 A method of handling absolute altitude in AutoCAD engineering drawing
CN111506686A (en) * 2020-03-26 2020-08-07 河南师慧信息技术有限公司 Processing method and device based on house CAD graph and data association
CN111914318A (en) * 2020-06-05 2020-11-10 深圳小库科技有限公司 Method and device for automatically generating building elevation map

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曾芬芳 等: "《计算机辅助绘图与设计》", 31 January 1997 *

Also Published As

Publication number Publication date
CN112507436B (en) 2021-09-28

Similar Documents

Publication Publication Date Title
US7515153B2 (en) Map generation device, map delivery method, and map generation program
CN107423501B (en) Array automatic detection and numbering method based on photovoltaic power station logic diagram
CN112070770B (en) High-precision three-dimensional map and two-dimensional grid map synchronous construction method
JP5566353B2 (en) Data analysis apparatus, data analysis method, and program
TWI773063B (en) Image generation system and image generation method
CN111986308B (en) Point cloud normal and curvature change based double-constraint surface error salient point identification method
CN110517353B (en) Rapid building three-dimensional reconstruction method based on two-dimensional vector diagram and few elevation points
CN110780276A (en) Tray identification method and system based on laser radar and electronic equipment
CN112507436B (en) Method for automatically measuring and calculating size of curtain wall glass
CN110990952A (en) Automatic scanning track planning method for aircraft structural part
CN116883754A (en) Building information extraction method for ground LiDAR point cloud
CN109741377B (en) Image difference detection method
CN113393447B (en) Needle tip true position detection method and system based on deep learning
CN113538620A (en) SLAM mapping result evaluation method oriented to two-dimensional grid map
KR102260556B1 (en) Deep learning-based parking slot detection method and apparatus integrating global and local information
CN116051771A (en) Automatic photovoltaic BIM roof modeling method based on unmanned aerial vehicle oblique photography model
CN114419042B (en) Plate contour visual extraction method and system based on laser projection auxiliary line and readable storage medium
CN111754461A (en) Method and device for positioning image character area of semiconductor chip
CN113008895B (en) Block fitting defect detection method based on three-dimensional data
CN115830623A (en) Measuring point planning method and system based on intelligent identification of building drawings
CN115082944A (en) Intelligent identification and segmentation method, system and terminal for table
Georgiou et al. Constructing contextual SLAM priors using architectural drawings
Böhm et al. Curvature-based range image classification for object recognition
CN116740101B (en) Plane segmentation method for point cloud object
CN111062921B (en) Ceramic tile inspection method for plane design drawing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant