Home > Features > PlanPro

Features: PlanPro


Since 1978 I have worked on a variety of transmission projects and in 1985 began using AutoCAD to generate the type of Plan and Profile drawings shown on the preceding sheet, as well as structure framing details, catenary curve templates, permit application drawings, construction documents, and technical sketches. By using AutoCAD's development language "Autolisp" I have applied engineering formulas and design parameters to the drawings and this data then becomes an inherent part of the engineering documents. Survey data and line design features are included in the actual drawing files either as attributes or as extended entity data.

The following is by no means a comprehensive list of all that could be said or done with regard to engineering and design of transmission projects, but the tools herein have at one time or another been applied in the development of an engineering document.

Typical Scenario

An existing Transmission Line is being upgraded with new conductors and equipment. A survey must be made of the line to verify the existing right of way and equipment for the proposed conductor upgrade. Existing poles will be reframed and/or replaced. Drawings will be done in AutoCAD. A surveyor is chosen and performs the survey using a computerized transit. Before starting the drawings you obtain from the Surveyor a computerized ASCII text file of all surveyed shots, with north, east, elevation and shot description notes. You are given CAD maps showing road information, section, township, range lines, property lines and physical features in the area of the line to be designed, as well as any drawings showing previous construction drawings.

Drawing Setup

For accurate results, assume 1 drawing unit = 1'-0" and set the drawing UNITS to option 2 decimal) and option 5 (surveyor). AutoCAD assumes 1 drawing unit as equaling an inch (1") but for this case assume one unit (1") equals (1') Create drawings in scales of units = feet. For drawing scales of 20v/200h (1"=20' vertical, 1"=200' horizontal), scale the drawing titleblock to 200 times size and set the AutoCAD SETVAR variables DIMSCALE and LTSCALE to 200. Text sizes should also be 200 times normal size. A point block is used for conductor locations so set the SETVAR variable PDMODE to 2 and the variable PDSIZE to 8 for 200 scale drawings.

The plan and profile drawing files should be continuous and be drawn at a horizontal scale of 1"= 200' and a vertical scale of 1"= 20', unless otherwise directed by the Engineer. The Plan view should include the mapping of all major planametric features within the width of the specified right-of-way, plus 100 feet from the edge of each side. The centerline of the transmission line should be approximately centered in the plan view. The plan should be continuous for at least six hundred feet beyond the nominated terminal points. Where two or more transmission lines are identified within a corridor, each transmission line shall be unique, and a separate plan and profile drawing required for each transmission line.

When drawing files are divided into separate sheets, an overlap of one spans length should be included in the plan and profile at each end and indicated as being a part of another continuous sheet by being drawn in a hidden linetype. Individual sheets should consist of 1 linear mile of line each. Some clients prefer sheets be drawn to 6000 or 5500 feet per sheet, and overlaps between sheets not allowed. Spans are sometimes part of two separate miles (sheets) of line and are broken at the exact mile point even if mid-span.

Survey Shot List

Modern Surveying Transits produce a computer generated shot list in an ASCII text file, similar to the following list:


PlanPRO Autolisp programs utilize this text file to organize data for the plan and profile portions of the drawing. By using Dbase III to sort and modify the shot list we can add the Engineers structure data before creating the plan view of the transmission line. The fields within the DbaseIII file match the attribute names in the plan and profile pole blocks.

1 SHOT Numeric 4 0
2 NORTH Numeric 15 4
3 EAST Numeric 15 4
4 ELEV Numeric 15 4
5 DESCRIPT Character 20
6 POLENUM Character 10
7 POLE_MK Character 10
8 POLEBLK Character 12
9 BEARING Character 15
10 STA_AH Character 15
11 STA_BK Character 15
12 SPANBACK Character 9
13 POLEHTCL Character 20
14 TOPASSY Character 15
15 TURNANGL Character 15
16 GUYING Character 10
17 GUYING2 Character 10
18 ANCHOR Character 10
19 ANCHOR2 Character 10
20 GUYLEADS Character 12
21 HARDWARE Character 10
22 HARDWARE2 Character 10
23 HARDWARE3 Character 10
24 HARDWARE4 Character 10
25 HARDWARE5 Character 10
26 REMARKS Character 40
27 MISC1 Character 20
28 MISC2 Character 20
29 MINVCL2G Character 10
30 LSPAN Character 10
31 WSPAN Character 10
32 ANG Character 10
33 TRAN1_HT Character 10
34 TRAN2_HT Character 10
35 TRAN3_HT Character 10
36 DIST1_HT Character 10
37 DIST2_HT Character 10
38 COMM1_HT Character 10
39 OHGW1_HT Character 10
40 SPACE Character 2

In Dbase the command sequence would be like this:

(to the "dot" prompt in Dbase)
.USE 1151243
(< note comma)
(then modify fields with Engineers data)

The modified shot list from Dbase III will look like the following and have actual structure data in it.

Shot# North East Elevation Note
579 950044.7911 1809943.1400 2999.0651855468 UP4895
580 949986.3020 1810032.9221 3002.755371093 CL12'DRIVE
581 949958.3360 1810080.6142 3004.7429199218 164
582 949922.3367 1810135.8349 3006.4099121093 UP4815'X'ING
583 949910.8379 1810140.1224 3004.6765136718 GUYWIRE

Plan View

Once the Database is sorted and structured, start a prototype drawing for the plan view portion. This drawing should have the SHOT block in it for locating each survey shot.

From the command line in the drawing editor load PLANVIEW.

Type PLANVIEW at the Command prompt and then type in the name used for the surveyor ASCII shot list above. The program will ask for a note to look for. The list above uses "UP" for a utility pole. Key in "UP" and PLANVIEW will search and parse the text file and create a plan view from the survey shot data by placing pole blocks at all pole locations, with shot number, description and elevation in attributes. Shot blocks will be inserted for all other features in the shot list.

[Planview] Draws Plan View of Transmission Line from an ASCII shot list text file derived from importing a survey shot list into DbaseIII, modifying the description fields and then exporting it in Space Delimited Form to a PLANVIEW.TXT file. PLANVIEW.LSP would then read and insert custom blocks and lines for each shot and bearing.

Filename to import <>:
Pole Block Name to Insert <POLEXST1>:
Insertion Scale of Block <>:
Note Value in File to Find <POLE>:


Trace with a POLYLINE the actual route of the structures in the transmission line. PLANVIEW can be modified to do this for you by removing the semi-colon from the APPLY statement in the Autolisp code. This works well with single pole structure designs in conjunction with a straight traverse survey. Double and triple pole structure designs may require a modified centerline, and use different sets of pole blocks.

Replace the default structure block POLEXST1 with POLENEW1 or POLEREM1 for those structures to be added or removed. Replace with POLEDIS1 for distribution poles within the right-of-way.


Insert and/or Modify the pole number attribute in the pole block to the correct sequential number of the poles. This will be different than the survey shot number which can vary from pole to pole. After spotting and inserting new pole blocks in the plan view, add the pole block name and the engineers structure design data to the attributes contained in the pole blocks.


Next, create in-line elevation points along the proposed centerline of the line right-of-way. These elevation points and the pole locations will be extracted to a text file used in the profile portion of the drawing.


Using the BEARING.LSP utility, add Stationing and Bearing Turn Angle values to the PLANVIEW. Add Survey Bearing and Distance values with LABELINE.LSP to each segment of the line.


Transfer Stationing, Bearing Turn Angles, Survey Bearing and Distance values from the BEARING and LABELINE block attributes to the AHEAD pole block attributes using COPYATTG.LSP.


This completes the setup of the PLAN VIEW portion of the drawing. The Transmission Line data has been attached to the POLE block attributes and is ready to be used to create the PROFILE VIEW. Additional features such as anchors, stub poles, guying, buildings, crossing transmission lines, distribution underbuild, roads, etc. can be added.


To extract Transmission Line Pole data to a text file for making the Profile View, turn off all layers except the pole and in-line shot layers. Using ATTEXT, select all poles and in-line shot blocks to be extracted. Specify C:\PLANPRO\XTRACT\STRSHEET.TXT as the template file and accept the default drawing name as the name for the output file. Verify that all structure data is correct before proceeding to the PROFILE portion of the program.

Plan View Block Attributes

(New Pole Added) (Existing Pole) (Distribution Pole) (Pole Removed)
pnts pnts pnts pnts bearing
elev elev elev elev


desc desc desc desc
polenum polenum polenum polenum
pole_mk pole_mk pole_mk pole_mk BEARING
poleblk poleblk poleblk poleblk sta_bk
bearing bearing bearing bearing sta_ah
sta_ah sta_ah sta_ah sta_ah angle
sta_bk sta_bk sta_bk sta_bk ang
spanback spanback spanback spanback
polehtcl polehtcl polehtcl polehtcl
topassy topassy topassy topassy SHOT
angle angle angle angle


guying guying guying guying elev
guying2 guying2 guying2 guying2


anchor anchor anchor anchor
anchor2 anchor2 anchor2 anchor2
guylead guylead guylead guylead MILEPOLE
hardware hardware hardware hardware mile#
hardware2 hardware2 hardware2 hardware2 pole#
hardware3 hardware3 hardware3 hardware3
hardware4 hardware4 hardware4 hardware4
hardware5 hardware5 hardware5 hardware5
remarks remarks remarks remarks
misc1 misc1 misc1 misc1
misc2 misc2 misc2 misc2
minvcl2g minvcl2g minvcl2g minvcl2g
lspan lspan lspan lspan
wspan wspan wspan wspan
ang ang ang ang
tran1_ht tran1_ht tran1_ht tran1_ht
tran2_ht tran2_ht tran2_ht tran2_ht
tran3_ht tran3_ht tran3_ht tran3_ht
dist1_ht dist1_ht dist1_ht dist1_ht
dist2_ht dist2_ht dist2_ht dist2_ht
comm1_ht comm1_ht comm1_ht comm1_ht
ohgw1_ht ohgw1_ht ohgw1_ht ohgw1_ht

Block Extract Templates

Extract file(s) for plan view attributes. Data is written to <dwgname.txt> as a default.

PNTS C004000 TITLE1 C020000 PNTS N004000
BL:Y N015004 TITLE2 C020000 CHAR1 C002000
BL:X N015004 TITLE3 C020000 POLENUM C004000
ELEV N015004 DWG_NUM C020000 ELEV N015004
DESC C020000 REV_NUM C020000 CHAR2 C002000
POLENUM C010000 SHT_NUM C020000 POLEHTCL C020000
POLE_MK C010000 SHT_OF C020000 TOPASSEMB C015000
POLEBLK C012000 VERT_SCL C020000 ANGLE C015000
BEARING C015000 HOR_SCL C020000 POLEBLK C012000
STA_AH C015000 DATE C020000 STA_AH C015000
STA_BK C015000 CHKD C020000 STA_BK C015000
POLEHTCL C020000 CAD_NUM C020000
TOPASSY C015000 EL1L C020000
ANGLE C015000 EL1R C020000
GUYING C010000 EL2L C020000
GUYING2 C010000 EL2R C020000
ANCHOR C010000 EL3L C020000
ANCHOR2 C010000 EL3R C020000
GUYLEAD C012000 EL4L C020000
HARDWARE1 C010000 EL4R C020000
HARDWARE2 C010000 EL5L C020000
HARDWARE3 C010000 EL5R C020000
HARDWARE4 C010000 STA1 C020000
HARDWARE5 C010000 STA2 C020000
REMARKS C040000 STA3 C020000
MISC1 C020000 STA4 C020000
MISC2 C020000 STA5 C020000
MINVCL2G C010000 STA6 C020000
LSPAN C010000 STA7 C020000
WSPAN C010000 STA8 C020000
ANG C010000 STA9 C020000
TRAN1_HT C010000 STA10 C020000
TRAN2_HT C010000 STA11 C020000
TRAN3_HT C010000 STA12 C020000
DIST1_HT C010000 STA13 C020000
DIST2_HT C010000 COMM1_HT C010000

Profile View

Obtain from the Engineer a Structure List with accompanying Pole Design sheets (Figures PR1 & PR2) that define the conductor attachment points and pole sizes and create block definitions of each pole type in sizes 50' - 95' in 5' increments similar to those blocks in Figure PR3. These blocks will be inserted when the profile view is created. Pole blocks for the profile view should be scaled ten (10) times size to account for using them at a vertical drawing scale which is 1/10 th of the horizontal drawing scale. The conductor attachment points can be obtained either from the structure drawings or from a Design Data sheet (Figure PR3).

Start a new drawing in AutoCAD and insert the library drawing of pole blocks as a block into the new drawing, then erase the block. This will leave the pole block definitions in the new drawing. Do not purge the drawing until the profile view is complete.

Load PROFILE.LSP using the Autolisp LOAD function. (LOAD "PROFILE")

Type PROFILE at the Command prompt and then type in the name of the ASCII shot list. The program will read the file line by line and insert pole blocks listed in the pole block definition area. All other in-line points will have a shot block inserted. To complete the profile view, PROFILE will draw the ground line.

[Profile] Draws Profile View of Transmission Line from an ASCII shot list text file, usually derived from importing a survey shot list into DbaseIII, modifying the description fields and then exporting it in Space Delimited Form to the shot list text file. This file would then be read by PROFILE.LSP and insert custom blocks and lines for each shot and bearing.

Filename to import <>:
Specify Ratio of Y to X Scale <>:
Beginning Shot Stationing <>:
Start Point >


Relocate attributes using MODATT or one of the Menu Expand options in the PLANPRO Menu. Copy ELEV attributes from POLE blocks to POLEATTR data blocks. Add Profile features such as Angle marks, guying, etc.


Add Catenary Curve conductors with CAT.LSP (see section on CAT.LSP). Also refer to Autolisp Utilities section for using MINVCL2G.LSP and OFFSET.LSP to add additional data and to break section vertically to fit on Plan and Profile sheet.


Profile View Block Attributes

pnts pnts pnts title1 vs
desc elev elev title2 vs2
polenum desc desc title2 hs
serial# polenum polenum dwg_num hs2
angle pole_mk pole_mk rev_num k1
spanback poleblk poleblk sht_num k1a
wire_size bearing bearing sht_of k2
polehtcl sta_ah sta_ah vert_scl k2a
pri_unit sta_bk sta_bk hor_scl k3
transf spanback spanback date k3a
gnd_unit polehtcl polehtcl chkd k4
guy_unit_1 topassemb topassemb drawn k4a
guy_unit_2 angle angle cad_num
guy_leads guying guying el1l
anchor_1 guying2 guying2 el1r OFFSET
anchor_2 anchor anchor el2l el1l
2nd_unit_1 anchor2 anchor2 el2r el1r
2nd_unit_2 guylead guylead el3l el2l
2nd_undbld hardware hardware el3r el2r
2nd_sec hardware2 hardware2 el4l el3l
2nd_wire hardware3 hardware3 el4r el3r
serv_unit_1 hardware4 hardware4 el5l el4l
serv_unit_2 hardware5 hardware5 el5r el4r
serv_span remarks remarks sta1 el5l
serv_wire misc1 misc1 sta2 el5r
meter_size misc2 misc2 sta3
pole_mk minvcl2g minvcl2g sta4
misc_1 wspan wspan sta5
misc_2 lspan lspan sta6
misc_3 ang ang sta7
misc_4 tran1_ht tran1_ht sta8
remarks_1 tran2_ht tran2_ht sta9
remarks_2 tran3_ht tran3_ht sta10
dist1_ht dist1_ht sta11
dist2_ht dist2_ht sta12
comm1_ht comm1_ht sta13
ohgw1_ht ohgw1_ht

PDF version of this page

** PLEASE DESCRIBE THIS IMAGE **Return to top of page

© Copyright 2006 by Robert L. Zipprich. All rights reserved