CN113111428B - Method for marking elevation by optimizing elevation of retaining wall elevation graph - Google Patents

Method for marking elevation by optimizing elevation of retaining wall elevation graph Download PDF

Info

Publication number
CN113111428B
CN113111428B CN202110533192.2A CN202110533192A CN113111428B CN 113111428 B CN113111428 B CN 113111428B CN 202110533192 A CN202110533192 A CN 202110533192A CN 113111428 B CN113111428 B CN 113111428B
Authority
CN
China
Prior art keywords
elevation
ent
marking
character
primitive
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.)
Active
Application number
CN202110533192.2A
Other languages
Chinese (zh)
Other versions
CN113111428A (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.)
Guizhou Transportation Planning Survey and Design Academe Co Ltd
Original Assignee
Guizhou Transportation Planning Survey and Design Academe 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 Guizhou Transportation Planning Survey and Design Academe Co Ltd filed Critical Guizhou Transportation Planning Survey and Design Academe Co Ltd
Priority to CN202110533192.2A priority Critical patent/CN113111428B/en
Publication of CN113111428A publication Critical patent/CN113111428A/en
Application granted granted Critical
Publication of CN113111428B publication Critical patent/CN113111428B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Landscapes

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

Abstract

The invention discloses a method for optimally marking elevation of a retaining wall elevation graph, which comprises the steps of establishing a selection set for a high-range character block unit in the elevation marking in the retaining wall elevation AutoCAD graph derived by drawing software; and calculating and determining the distance disw of the overlapped part needing to be moved after judging the attributes of the block units, judging the overlapping and extracting related data, and automatically moving and adjusting the overlapped character labels according to the calculation result. The method has high operation convenience, can identify overlapped elevation characters or similar graphic elements such as dimension marks, pile numbers, coordinates and the like, automatically judge, delete and adjust, realizes elevation mark optimization of the retaining wall elevation map, does not need manual adjustment, effectively reduces the workload of designers, and improves the mapping efficiency and accuracy.

Description

Method for optimizing elevation marking of retaining wall elevation map
Technical Field
The invention relates to the technical field of engineering drawing based on elevation marking of retaining wall elevation graphs, in particular to a method for optimizing elevation marking of a retaining wall elevation graph.
Background
In the design of road retaining walls, latitude and land software is generally adopted to design and map the retaining wall, and according to different flat vertical surface templates, the latitude and land software has wall top elevation, wall bottom elevation, wall toe elevation and the like when generating a vertical surface map. As can be seen from fig. 2, when the latitude ground software automatically maps, the elevation data often overlap at the expansion joint position and the retaining wall height change position, which causes the map surface to be disordered and even makes it difficult to determine the elevation data value of the key position. In order to optimize and modify the elevation of the retaining wall, overlapped characters need to be manually moved or deleted, a large amount of manual labor is repeated, so the operation design efficiency is low, and omission phenomena are easy to occur due to manual problems, and if the omission of key positions is not manually modified, construction of corresponding parts can be influenced, and waste engineering and economic losses are caused.
Disclosure of Invention
In view of this, the present invention provides a method for optimizing elevation labeling of a retaining wall elevation map, which can overcome the defects of the prior art.
The purpose of the invention is realized by the following technical scheme:
a method for optimizing elevation marking of a retaining wall elevation map comprises the following steps:
step 1, establishing a selection set by marking a high-range character block unit in an elevation mark in a retaining wall elevation AutoCAD graph derived by drawing software, taking the block as an attribute graphic element, taking a variable attribute following mark and a block name as screening conditions, and storing the variable attribute following mark and the block name in a selection set ss;
step 2, circularly judging whether each primitive in the selection set ss is marked by an elevation;
step 3, if a primitive monomer with elevation marks in the set ss is selected, recording the primitive name of the elevation marks, the elevation character control point, the height and width of the elevation characters and the insertion point of the elevation symbols in the L _ dat;
step 4, presetting reference elevation marking characters ent, and performing overlapping judgment on the height marking characters one by one in the L _ dat;
step 5, if the overlapped graphic elements exist, recording the distance disw which needs to be moved by the overlapped elevation marking character en relative to the reference elevation marking character ent, and storing the distance disw into an l _ adj table;
step 6, automatically moving and adjusting the overlapped character labels according to the sub-table number in the l _ adj table;
and 7, repeating the steps 2 to 6 to complete the adjustment of all the primitives in the selection set ss.
In the step 1, a primitive with a primitive type of "insert" is selected, and meanwhile, the variable attribute following flag group code attribute primitives and the block name front part are classified as "hdqd.lmt.hdm" or "hdqd.lmt.sdq" or "hdqd.lmt.ssf" as screening conditions, and are stored in the selection set ss.
In the step 2, a repeat function is adopted to circularly judge whether each primitive in the selection set ss is marked by an elevation.
And aiming at each monomer in the selection set ss, finding out the block name of each monomer, then finding out each primitive in the block through a tblsearch function according to the block name, and judging whether the primitive types are attribute definition primitive types of attdef or not by adopting while function circulation, and meanwhile, determining whether the block to which the primitive belongs is marked by the elevation or not by the layer name of the top elevation.
In the step 3, the alignment point pt1 of the high-level text and the attribute in the block and the insertion point pt0 of the block are obtained, the x coordinate value of the insertion point pt0 of the standard high-level marked block is used as the x coordinate value of the control point of the high-level text, and (Y _ pt0+ Y _ pt 1) is used as the Y coordinate of the control point of the high-level text, and the control point of the high-level text is obtained through coordinate calculation.
In the step 4, a cross frame formed by four corner points of the reference elevation labeling text ent is used as a selection range boundary, meanwhile, screening and filtering conditions of variable attribute following marks and block names are adopted, and if the primitive in the frame selection range is not 0, the frame selection primitive is stored in the selection set ss.
In the step 5, each primitive in the set ss is selected in a loop mode, and calculation is performed:
(1) If the difference between the horizontal distance and the vertical distance of the inserting point of the elevation symbol of the overlapped elevation marking character en and the reference elevation marking character ent is less than 0.1 meter, judging that the two marking distances are too close, deleting the reference elevation marking character ent, and deleting the ent on the selection set ss;
(2) If the difference between the vertical coordinates of the elevation character control point of the overlapped elevation annotation character en and the reference elevation annotation character ent is greater than the character height h of the reference elevation annotation character ent, the moving distance disw of en is calculated as follows:
disw = (W _ ent + W _ en') - | X _ ent-X _ en |, when X _ ent ≧ X _ en
When X _ ent < X _ en, disw = | X _ ent-X _ en | - (W _ ent + W _ en')
(3) If the difference between the vertical coordinates of the elevation character control points of the overlapped elevation annotation character en and the reference elevation annotation character ent is less than or equal to the character height h of the reference elevation annotation character ent, the moving distance disw of en is calculated as follows:
disw = (W _ ent + W _ en) - | X _ ent-X _ en |, when X _ ent ≧ X _ en
When X _ ent < X _ en, disw = | X _ ent-X _ en | - (W _ ent + W _ en)
Wherein, W _ ent, the reference elevation marks half of the width value of the character;
w _ en, marking half of the width value of the characters by the overlapped elevation;
w _ en', half the width of the triangular symbol in the overlapped elevation label is marked;
and X _ ent and X _ en respectively mark X coordinate values of the text elevation control points for the reference elevation marking text and the overlapped elevation marking text elevation control points.
In the foregoing step 6, the overlapped text labels are adjusted in a moving manner in 3 cases:
(1) If the sub-table number in the l _ adj table is 0, the next primitive is judged without adjustment;
(2) If the number of the sub-tables in the l _ adj table is 1, marking the reference elevation with the x coordinate movement distance disw of the elevation symbol insertion point of the text ent;
(3) And if the number of the sub-tables in the l _ adj table is more than or equal to 2, dividing the sub-tables in the l _ adj table into a sub-table set according to the numerical range of the disw, and adjusting according to the absolute maximum value of the disw in the sub-table set.
Dividing the set into two groups of l _ adj _ right and l _ adj _ left according to whether the disw value of each sub table in the sub table set is less than 0:
(3.1) if the number of disp of each sub-table in the sub-table set is less than 0 and is 0, traversing each sub-table in l _ adj _ right, finding out the disp with the maximum absolute value, and marking the reference elevation with the x coordinate movement distance disp of the elevation symbol insertion point x of the text ent;
(3.2) if the number of the disp which is more than or equal to 0 is 0, traversing each sub-table in l _ adj _ left, finding out the disp with the largest absolute value, and marking the reference elevation with the x coordinate moving distance disp of the elevation symbol insertion point of the character ent;
(3.3) if neither l _ adj _ left nor l _ adj _ right is an empty table, traversing each overlay mark en in l _ adj _ left and l _ adj _ right respectively, and shifting the x coordinate of the insertion point of the elevation symbol by a distance-disw.
In the step 7, in order to avoid a new overlapping phenomenon of the adjusted labels, the adjustment is repeated for 2 to 3 times, and the whole elevation map is adjusted.
Compared with the prior art, the elevation marking method for the retaining wall elevation map disclosed by the invention has the advantages that the drawing module is arranged in the computer, and the block unit of the high-range characters in the elevation marking derived from the drawing module establishes the selection set; judging whether each primitive in the selected set is marked as an elevation or not through circulation; if the primitive single body with the elevation marks in the set is selected, recording the primitive names of the elevation marks, the elevation character control points, the height and width of the elevation characters and the insertion points of the elevation symbols in the L _ dat; presetting a reference elevation marking character ent, and performing overlapping judgment on the elevation marking characters in the L _ dat one by one; if the overlapped graphic elements exist, recording the distance disw which the overlapped elevation marking character en needs to move relative to the reference elevation marking character ent, and storing the distance disw into an l _ adj table; and automatically moving and adjusting the overlapped character labels according to the sub-table number condition in the l _ adj table. Based on long-term design work of the highway subgrade, the invention can realize the identification and automatic judgment of the graphic elements and the coordinates of elevation marking of the retaining wall elevation graph, delete the close marking and automatically translate and adjust the overlapped marking, thereby achieving the purpose of optimizing the elevation marking of the retaining wall elevation graph.
The invention has the beneficial effects that:
the method has high operation convenience, can automatically judge, delete and adjust the overlapped elevation characters or similar graphic elements such as dimension marks, pile numbers, coordinates and the like, realizes the elevation mark optimization of the retaining wall elevation map, does not need manual adjustment in later period, effectively reduces the workload of designers, and improves the mapping efficiency and accuracy.
Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims thereof.
Drawings
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention will be further described in detail with reference to the accompanying drawings, in which:
FIG. 1 is a schematic flow chart of the method of the present invention.
Fig. 2 is a schematic view of a prior art retaining wall before its pictorial optimization.
Fig. 3 is a schematic diagram of the effect of the invention after optimization.
Detailed Description
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be understood that the preferred embodiments are illustrative of the invention only and are not limiting upon the scope of the invention.
As shown in fig. 1-3, a method for optimizing elevation labeling of a retaining wall elevation comprises the following steps:
step 1, establishing a selection set for a high-range character block unit in elevation marking in a retaining wall elevation AutoCAD graph derived by drawing software, taking the block as an attribute primitive, taking a variable attribute following mark and a block name as screening conditions, and storing the variable attribute following mark and the block name in a selection set ss;
step 2, circularly judging whether each primitive in the selection set ss is marked by an elevation;
step 3, if a primitive monomer with elevation marks in the set ss is selected, recording the primitive name of the elevation marks, the elevation character control point, the height and width of the elevation characters and the insertion point of the elevation symbols in the L _ dat;
step 4, presetting reference elevation marking characters ent, and performing overlapping judgment on the height marking characters one by one in the L _ dat;
step 5, if an overlapped graphic element exists, recording the distance disw which needs to be moved by the overlapped elevation marking character en for the reference elevation marking character ent, and storing the distance disw into an l _ adj table;
step 6, automatically moving and adjusting the overlapped character labels according to the number of sub-tables in the l _ adj table;
and 7, repeating the steps 2 to 6 to complete the adjustment of all the primitives in the selection set ss.
In the step 1, most of the elevation marks in the retaining wall elevation map are 'blocks' derived from latitude and ground software, the elevation marks are high-range characters as attribute primitives, primitives with primitive types of 'insert' are selected, in order to avoid redundant calculation and occupation space caused by excessive selected useless primitives, meanwhile, the attribute primitives and the block name front parts of variable attribute following flag group codes are classified as 'HDQD.LMT.HDM' or 'HDQD.LMT.SDQ' or 'HDQD.LMT.SSF' as screening conditions, and the screening conditions are stored in a selection set ss.
In the step 2, a repeat function is adopted to circularly judge whether each primitive in the selection set ss is marked as an elevation. Aiming at each monomer in the selection set ss, a block name of each monomer is found first, each primitive in the block is found through a tblsearch function according to the block name, a while function is adopted to circularly judge whether the primitive types are attribute definition primitive types of attdef, and meanwhile, the layer name is top elevation to determine whether the block to which the primitive belongs is marked with elevation.
In step 3, if the primitive single body with the elevation marks in the set ss is selected, the primitive names with the elevation marks, the elevation character control points, and the height and width and elevation symbol insertion points of the elevation characters are recorded in the L _ dat, so that basic data can be provided for the overlapping judgment and avoidance calculation processing of the elevation characters. Because the elevation characters belong to the primitives in the block, when the control points of the elevation characters are recorded, the control points are defined as the positions of the middle points at the lower parts of the characters, the alignment point pt1 of the upper height characters and the attributes in the block and the insertion point pt0 of the block need to be obtained, and the control points of the elevation characters are obtained through coordinate calculation. In this example, the insertion point pt0 of the elevation labeling block is the same as the horizontal coordinate of the point in the elevation text, and the attribute alignment point pt1 is the relative coordinate of the insertion point pt0 of the elevation labeling block, so the x-coordinate value of the insertion point pt0 of the elevation labeling block can be used as the x-coordinate value of the control point of the elevation text, and (Y _ pt0+ Y _ pt 1) can be used as the Y-coordinate of the control point of the elevation text.
In step 4, the high-labeled characters in "L _ dat" are subjected to overlap judgment one by one. Taking an intersection frame consisting of four corner points of a reference elevation labeling text element as a selection range boundary, taking an elevation text control point as a base point, calculating the four corner points of the elevation text by using a polar function, storing the calculated four corner points as a closed intersection frame into pt _ list, selecting all primitives in the intersection frame pt _ list by adopting an 'f' mode of a ssget function, simultaneously taking a primitive with the primitive type of 'insert', taking a variable attribute following an attribute primitive of a marker group code and a block name front part as 'HDQD.LMT.HDM', or 'HDQD.LMT.SDQ' or 'HDQD.LMT.SSF' as a screening condition, if the primitive in a frame selection range is not 0, preliminarily proving that the corresponding elevation labeling text has overlapped primitives, and storing the selected primitives into a selection set so as to further judge whether the overlapped primitives are the elevation labeling text and the specific size of the movement of the overlapped primitives which needs to be modified.
And 5, circularly selecting each primitive in the set ss, judging that each primitive is one part of the selected set ss, and judging whether each primitive is an elevation marking character overlapped with the reference elevation marking character ent or not through judging that each primitive is one part of the selected set ss. If so, recording the distance disw required to move between the overlapped elevation marking character en and the reference elevation marking character ent, and storing the distance disw into the l _ adj table. When determining the size of the disw, the calculation is done in three cases:
(1) If the difference between the horizontal distance and the vertical distance of the inserting point of the elevation symbol of the overlapped elevation marking character en and the reference elevation marking character ent is less than 0.1 meter, judging that the two marking distances are too close, deleting the reference elevation marking character ent, and deleting the ent on the selection set ss;
(2) If the difference between the vertical coordinates of the elevation character control points of the overlapped elevation marking character en and the reference elevation marking character ent is greater than the character height h of the reference elevation marking character ent, it is determined that the angular point of the overlapped elevation marking character en is outside the reference elevation marking character ent, but the overlapped elevation marking character en still exists, namely, the boundary range of the elevation symbol of en and the reference elevation marking character ent has an overlapping phenomenon, the minimum distance between the en and the en is 'half of the width of one ent character + half of the width of an en marking triangle symbol', and the distance disw which the en needs to move is calculated as follows:
disw = (W _ ent + W _ en') - | X _ ent-X _ en |, when X _ ent ≧ X _ en
When X _ ent < X _ en, disw = | X _ ent-X _ en | - (W _ ent + W _ en')
(3) If the difference between the vertical coordinates of the elevation character control points of the overlapped elevation marking character en and the reference elevation marking character ent is less than or equal to the character height h of the reference elevation marking character ent, determining that the minimum distance between the en and the en is ' half of the width of the en marking character + half of the width of the en marking character ' and the minimum distance between the en and the en is ' one half of the width of the en marking character ' in the reference elevation marking character ent ', and calculating the distance disw that the en needs to move as follows:
disw = (W _ ent + W _ en) - | X _ ent-X _ en |, when X _ ent ≧ X _ en
When X _ ent < X _ en, disw = | X _ ent-X _ en | - (W _ ent + W _ en)
Wherein, W _ ent, the reference elevation marks half of the width value of the character;
w _ en, marking half of the width value of the characters by the overlapped elevation;
w _ en', half the width of the triangular symbol in the overlapped elevation label is marked;
and X _ ent and X _ en are respectively the X coordinate values of the elevation control points of the reference elevation marking characters and the overlapped elevation marking characters.
In step 6, the overlapped character labels are moved and adjusted according to the number of sub-tables in the l _ adj table, and the specific conditions are as follows:
(1) If the number of the sub-tables in the l _ adj table is 0, the next primitive is judged without adjustment;
(2) If the number of the sub-tables in the l _ adj table is 1, moving the x coordinate of the elevation symbol insertion point of the reference elevation marking character ent by a distance disw, if the disw is a negative number, indicating that the reference elevation marking character ent is on the left side of en, and needing to move the reference elevation marking character ent to the opposite direction of the x axis, directly adding the x coordinate of the index symbol insertion point of the ent and the disw, deleting the reference elevation marking character ent in the set ss, avoiding modifying the reference elevation marking character ent again, and simultaneously increasing l _ adj _ length which represents the number of the modified character markings by 1, so as to conveniently judge whether the whole elevation map is completely adjusted or not;
(3) And if the number of the sub-tables in the l _ adj table is more than or equal to 2, dividing the sub-tables in the l _ adj table into a sub-table set according to the numerical range of the disw, and adjusting according to the absolute maximum value of the disw in the sub-table set.
If the number of the sub-tables in the l _ adj table is greater than or equal to 2, the sub-tables are divided into 3 cases again for calculation processing, the effect of optimizing the map of the elevation map can be achieved by adjusting the marked positions less, and the sub-tables are divided into two groups of l _ adj _ right and l _ adj _ left according to whether the disw value of each sub-table in the sub-table set is less than 0, wherein the specific processing method of the 3 cases is as follows:
(3.1) if the number of the disw values of each sub-table in the sub-table set, which is smaller than 0, is 0, namely the number of the sub-tables in l _ adj _ left is 0, traversing each sub-table in l _ adj _ right, finding the disw with the largest absolute value, moving the coordinate of the elevation symbol insertion point x of the reference elevation mark text element by a distance disw, and then deleting the reference elevation mark text element in the set ss to avoid revising the reference elevation mark text element again. Meanwhile, 1 is added to l _ adj _ length which represents the number of the labels of the adjusted and modified characters, so that whether the whole elevation image is adjusted or not is judged conveniently;
(3.2) if the number of the disps is more than or equal to 0 is 0, namely the number of the sub-tables in l _ adj _ right is 0, traversing each sub-table in l _ adj _ left, finding out the disp with the largest absolute value, moving the coordinate of the elevation symbol insertion point x of the reference elevation mark character element by a distance disp, and then deleting the reference elevation mark character element in the set ss to avoid revising the reference elevation mark character element again. Meanwhile, 1 is added to l _ adj _ length which represents the number of the labels of the adjusted and modified characters, so that whether the adjustment of the whole elevation is finished or not is conveniently judged later;
(3.3) if neither l _ adj _ left nor l _ adj _ right is an empty table, and both the label of the disw is greater than or equal to 0 and the label of the disw is less than 0, modifying and adjusting each overlapped label. And traversing each overlapped label en in the l _ adj _ left and the l _ adj _ right respectively, moving the x coordinate of the insertion point of the elevation symbol by a distance-disw (the negative sign represents the opposite direction of the movement relative to the ent), and deleting the reference elevation label text ent in the set ss to avoid modifying the reference elevation label text again. And simultaneously, increasing 1 to l _ adj _ length which represents the number of the labels of the modified characters, so as to be convenient for judging whether the whole elevation is completely adjusted or not.
And 7, repeating the steps 2-6, performing elevation character adjustment on the next primitive in the selection set ss, and prompting that the character marking is adjusted after all the primitives in the selection set ss are adjusted by the program. In order to avoid new overlapping phenomenon of the labels after adjustment, the whole procedure is repeated for 2-3 times, and if the adjustment is finished, the prompt of '0 character label adjustment' is provided, the fact that the whole elevation map is adjusted is proved to be finished.
By the method, primitive and coordinate identification, automatic judgment, deletion of the too-close label and automatic translation adjustment of the overlapped label of the elevation label of the retaining wall elevation can be realized, and the aim of optimizing the elevation label of the retaining wall elevation label is fulfilled. The workload of designers can be reduced, and the design accuracy is improved.
The above description is only a preferred embodiment of the present invention, and is not intended to limit the present invention in any way, and any simple modification, equivalent change and modification made to the above embodiment according to the technical spirit of the present invention without departing from the technical spirit of the present invention are within the scope of the present invention.

Claims (10)

1. A method for optimizing elevation marking of a retaining wall elevation map is characterized by comprising the following steps:
step 1, establishing a selection set for a high-range character block unit in elevation marking in a retaining wall elevation AutoCAD graph derived by drawing software, selecting the primitive by taking the block as an attribute primitive and taking a variable attribute following mark and a block name as screening conditions, and storing the primitive in a selection set ss;
step 2, circularly judging whether each primitive in the selection set ss is marked by an elevation;
step 3, if a primitive monomer with elevation marks in the set ss is selected, recording the primitive name of the elevation marks, the elevation character control point, the height and width of the elevation characters and the insertion point of the elevation symbols in the L _ dat;
step 4, presetting a reference elevation marking character ent, and performing overlapping judgment on the elevation marking characters in the L _ dat one by one;
step 5, if the overlapped graphic elements exist, recording the distance disw which needs to be moved by the overlapped elevation marking character en relative to the reference elevation marking character ent, and storing the distance disw into an l _ adj table;
step 6, automatically moving and adjusting the overlapped character labels according to the sub-table number in the l _ adj table;
and 7, repeating the steps 2 to 6 to complete the adjustment of all the primitives in the selection set ss.
2. The method for optimizing elevation marking of the retaining wall elevation map according to claim 1, wherein: in the step 1, a primitive with a primitive type of 'insert' is selected, and meanwhile, the variable attribute following flag group code attribute primitives and the block name front part are classified into 'HDQD.LMT.HDM' or 'HDQD.LMT.SDQ' or 'HDQD.LMT.SSF' as screening conditions, and are stored in a selection set ss.
3. The method for optimizing elevation labeling of a retaining wall elevation map according to claim 1, wherein: in the step 2, a repeat function is adopted to circularly judge whether each primitive in the selection set ss is marked as an elevation.
4. The method for optimizing elevation labeling of a retaining wall elevation map according to claim 3, wherein: and aiming at each monomer in the selection set ss, finding out the block name of each monomer, then finding out each primitive in the block through a tblsearch function according to the block name, and judging whether the primitive types are attribute definition primitive types of 'attdef' by adopting while function circulation, and meanwhile, determining whether the block to which the primitive belongs is marked by the elevation by the layer name of 'top elevation'.
5. The method for optimizing elevation marking of the retaining wall elevation map according to claim 1, wherein: in step 3, an alignment point pt1 of the high-level characters and the attributes in the block and an insertion point pt0 of the block are obtained, an x coordinate value of the insertion point pt0 of the standard high mark block is used as an x coordinate value of a control point of the high-level characters, and (Y _ pt0+ Y _ pt 1) is used as a Y coordinate of the control point of the high-level characters, so that the control point of the high-level characters is obtained through coordinate calculation.
6. The method for optimizing elevation labeling of a retaining wall elevation map according to claim 1, wherein: and step 4, marking a cross frame formed by four corner points of the character ent on the reference elevation as a selection range boundary, adopting screening and filtering conditions of variable attribute following marks and block names, and storing the framing primitives into a selection set ss if the primitives in the framing range are not 0.
7. The method for optimizing elevation marking of a retaining wall elevation map according to claim 1, wherein in step 5, each primitive in a set ss is selected in a loop mode, and calculation is performed:
(1) If the difference between the horizontal distance and the vertical distance of the inserting point of the elevation symbol of the overlapped elevation marking character en and the reference elevation marking character ent is less than 0.1 meter, judging that the two marking distances are too close, deleting the reference elevation marking character ent, and deleting the ent on the selection set ss;
(2) If the difference between the vertical coordinates of the elevation character control point of the overlapped elevation annotation character en and the reference elevation annotation character ent is greater than the character height h of the reference elevation annotation character ent, the moving distance disw of en is calculated as follows:
when X _ ent ≧ X _ en, disw = (W _ ent + W _ en') - | -X _ ent-X _ en |
When X _ ent < X _ en, disw = | X _ ent-X _ en | - (W _ ent + W _ en')
(3) If the difference between the vertical coordinates of the elevation character control points of the overlapped elevation annotation character en and the reference elevation annotation character ent is less than or equal to the character height h of the reference elevation annotation character ent, the moving distance disw of en is calculated as follows:
disw = (W _ ent + W _ en) - | X _ ent-X _ en |, when X _ ent ≧ X _ en
When X _ ent < X _ en, disw = | X _ ent-X _ en | - (W _ ent + W _ en)
Wherein, W _ ent, the reference elevation marks half of the width value of the character;
w _ en, marking half of the width value of the characters by the overlapped elevation;
w _ en', half the width of the triangular symbol in the overlapped elevation label is marked;
and X _ ent and X _ en respectively mark X coordinate values of the text elevation control points for the reference elevation marking text and the overlapped elevation marking text elevation control points.
8. The method for optimizing elevation labeling of a retaining wall elevation map according to claim 1, wherein: in step 6, the overlapped character labels are adjusted in a moving way according to 3 conditions:
(1) If the number of the sub-tables in the l _ adj table is 0, the next primitive is judged without adjustment;
(2) If the number of the sub-tables in the l _ adj table is 1, marking the reference elevation with the x coordinate movement distance disw of the elevation symbol insertion point of the text ent;
(3) And if the number of the sub-tables in the l _ adj table is more than or equal to 2, dividing the sub-tables in the l _ adj table into a sub-table set according to the numerical range of the disw, and adjusting according to the absolute maximum value of the disw in the sub-table set.
9. The method for optimizing elevation marking of a retaining wall elevation map as claimed in claim 8, wherein the method is divided into two groups of l _ adj _ right and l _ adj _ left according to whether the disw value of each sub-table in the sub-table set is less than 0:
(3.1) if the number of disp of each sub-table in the sub-table set is less than 0 and is 0, traversing each sub-table in l _ adj _ right, finding out the disp with the maximum absolute value, and marking the reference elevation with the x coordinate movement distance disp of the elevation symbol insertion point x of the text ent;
(3.2) if the number of the disp which is more than or equal to 0 is 0, traversing each sub-table in l _ adj _ left, finding out the disp with the largest absolute value, and marking the reference elevation with the x coordinate moving distance disp of the elevation symbol insertion point of the character ent;
(3.3) if neither l _ adj _ left nor l _ adj _ right is an empty table, traversing each overlay mark en in l _ adj _ left and l _ adj _ right respectively, and shifting the x coordinate of the insertion point of the elevation symbol by a distance-disw.
10. The method for optimizing elevation labeling of a retaining wall elevation map according to claim 1, wherein: in step 7, in order to avoid new overlapping phenomenon of the adjusted labels, the adjustment is repeated for 2-3 times, and the whole elevation map is adjusted.
CN202110533192.2A 2021-05-17 2021-05-17 Method for marking elevation by optimizing elevation of retaining wall elevation graph Active CN113111428B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110533192.2A CN113111428B (en) 2021-05-17 2021-05-17 Method for marking elevation by optimizing elevation of retaining wall elevation graph

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110533192.2A CN113111428B (en) 2021-05-17 2021-05-17 Method for marking elevation by optimizing elevation of retaining wall elevation graph

Publications (2)

Publication Number Publication Date
CN113111428A CN113111428A (en) 2021-07-13
CN113111428B true CN113111428B (en) 2022-11-29

Family

ID=76723153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110533192.2A Active CN113111428B (en) 2021-05-17 2021-05-17 Method for marking elevation by optimizing elevation of retaining wall elevation graph

Country Status (1)

Country Link
CN (1) CN113111428B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114218631A (en) * 2021-12-01 2022-03-22 中国电建集团成都勘测设计研究院有限公司 Retaining wall three-dimensional design system based on 3DE platform
CN115619898B (en) * 2022-10-31 2023-10-17 广西发现软件技术有限公司 Engineering investigation drawing method and system capable of being freely customized and expanded

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770537B (en) * 2010-01-14 2011-10-26 宁波市鄞州云帆工程咨询有限公司 Method for checking false size of architectural CAD drawings
US9448754B2 (en) * 2013-05-15 2016-09-20 Google Inc. Resolving label collisions on a digital map
CN106528937B (en) * 2016-10-10 2020-04-28 中广核工程有限公司 System and method for avoiding label information overlapping based on PDMS (polydimethylsiloxane) map
CN107100175B (en) * 2017-02-21 2019-11-19 贵州省交通规划勘察设计研究院股份有限公司 A method of assigned base point quick and precisely arranges friction pile on roadbed side slope elevation
EP3627360A1 (en) * 2018-09-21 2020-03-25 Bricsys NV Improved annotation positioning in a cad drawing
CN109800457B (en) * 2018-12-17 2023-05-09 北京市水利规划设计研究院 Elevation symbol marking method and device based on MicroStation
CN109992865B (en) * 2019-03-22 2023-07-04 成都工业职业技术学院 Method for processing elevation in AutoCAD engineering drawing
CN110428479B (en) * 2019-07-26 2022-12-13 桂林电子科技大学 Method for adaptively adjusting dimension marking error correction of two-dimensional engineering drawing of Solid works
CN110598195A (en) * 2019-09-16 2019-12-20 杭州群核信息技术有限公司 Automatic labeling and typesetting method for decoration drawing
CN111046462A (en) * 2019-11-27 2020-04-21 湖南城市学院 Drawing display system and method for outdoor building design

Also Published As

Publication number Publication date
CN113111428A (en) 2021-07-13

Similar Documents

Publication Publication Date Title
CN113111428B (en) Method for marking elevation by optimizing elevation of retaining wall elevation graph
KR101159395B1 (en) Design of arbitrary linear and non-linear maps
CN105279243A (en) Spatial data conversion method and system
CN107885790B (en) Road space network multi-factor automatic updating method
CN109754460B (en) Automatic die overturning method, electronic equipment and storage medium
CN104281746A (en) Method for generating traffic safety road characteristic graphs on basis of point-cloud
CN110688756B (en) Collection and drawing integrated completion drawing manufacturing method
CN116127115B (en) Time sequence update-oriented oblique photography three-dimensional model tile set visualization method
CN116860906B (en) Track generation method, track generation device, track generation equipment and storage medium
CN106409129A (en) Road condition drawing method and road condition drawing device
CN114254407A (en) Graph splitting method, system, terminal equipment and storage medium
Shimizu et al. Rubber-sheeting of historical maps in GIS and its application to landscape visualization of old-time cities: focusing on Tokyo of the past
CN111476890B (en) Method for repairing moving vehicle in three-dimensional scene reconstruction based on image
CN114255317A (en) Road modeling method and device and storage medium
CN112017262A (en) Pavement marker generation method and device, storage medium and electronic equipment
Haunert et al. Using the straight skeleton for generalisation in a multiple representation environment
CN113808243B (en) Drawing method and device for deformable snowfield grid
KR101619395B1 (en) Database Construction System
Zhang et al. A geometry and texture coupled flexible generalization of urban building models
CN113807315B (en) Method, device, equipment and medium for constructing object recognition model to be recognized
CN113887737B (en) Automatic sample set generation method based on machine learning
CN113254127A (en) Processing method for large-data-volume graphic elements in power transmission line engineering measurement software
CN114705204A (en) High-precision map generation method based on road basic design data
CN113902615A (en) Rapid seamless splicing display method for electronic chart
CN113901540B (en) Automatic identification method for type of door and window table building drawing and door and window

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