0% found this document useful (0 votes)
38 views120 pages

GCM2009 Manual PDF

Uploaded by

kilo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views120 pages

GCM2009 Manual PDF

Uploaded by

kilo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 120

CONTENT:

1.0 GCMx64(GCM2009) – Command Overview 01

2.0 Command Reference 03

2.1 Group DTM 03 FITLINE 13


EDIST 03 FITARC 13
GENPTS 04 CLTEXT 13
PTSTIN 04 VCLPLAN 13
CALCTIN 04 LOCKPLAN 14
DRAWTIN 04
TINSKIRT 04 2.3 Group PROF 14
DEFGRID 04 GETPROF 14
CALCGRID 05 CHKTCL 14
DRAWGRID 05 DRAWPROF 14
GRIDSKIRT 05 DRAWSRF 15
ISOLINE 05 GRADE 15
ISOLBL 05 CURVE 15
ISOLBLX 05 XCURVE 15
NEWPTS 05 DEFVCL 15
CHGDIAG 06 DRAWVCL 15
FITBRK 06 LBLGRADE 16
XFITBRK 06 LBLCURVE 16
WPSELECT 06 LBLVPI 16
TRIMOD 06 SPOT 16
TRI2SOL 07 STAELEV 16
TRIGRADES 07 EXTREME 16
SHOWER 07 PROFTEXT 17
DOWNFLOW 07 ADDELEVE 17
UPFLOW 07 ADDELEVP 17
RIDGE 07 ADDSEC 17
PEAKS 08 VEGZAG 17
BOTTOM 08 GRADELST 18
DEPRESSIONS 08 VCL2STR 18
LOCKDTM 08 STR2TCL 18
PAVE2PAV 18
2.2 Group PLAN 08 TMC2PAV 18
CC 08 PAV2SUPER 19
CT 09 SUPERELEV 19
TC 09
CTC 09 2.4 Group TMPL 19
TRANS 09 DRAWTMP 19
INSCLO 09 LINTMP 19
ARA 09 BLKTMP 20
LRL 09 STRTMP 20
EDITARA 10 CLTMP 20
3R 10 DEFTMP 20
EDIT3R 10 INSTMP 20
LINK 10 EXTTMP 21
GCMOFFSET 10 GRADETMP 21
GCMTANG 10 SETTMP 21
MOVETANG 11 3DMODEL 21
ABSTANG 11 3DVER 22
LBLHOR 11 ADDTMP 22
LBLDET 11 MAKETMC 22
DEFCL 11 3DDYN 22
OFFSETCL 11 LOCKTMPL 23
SHOWCL 11
LBLCL 12
STATION 12
2.5 Group GRAD 23
SLOEDIT 23
STAOFS 12
STRING 23
STF2STA 12
SURFACE 24
FSTAOFS 12
SLOPE 24
ROTSTA 12
CONESLOPE 24
CLIN 13
FILLSLOPE 25
CLOUT 13
FILLCONE 25
CONST 25 SUMVOL 38
MULTI 25 SUBSITE 38
TWIST 25 TABLEVOL 38
INTSLOPE 26 QUANTITIES 39
TEMPLATE 26 PROFVOL 39
STRSPLINE 26
LBLSLOPE 26 2.11 Group UTIL (UTIL) 39
LOCKGRAD 27
CODES 39
CODESTR 39
2.6 Group PTS 27 TABLECOORDS 40
PTSIN 27 COORGRID 40
PTSSET 27 RESCALE 40
PTSLAYER 27 CLRLAYER 40
DIFFELEV 28 BRINGUP 40
MAKEBRK 28 FREEZE 41
POLY2BRK 28 OFF 41
ADDBRK 28 THAWALL 41
PTSLINE 28 ONALL 41
PTSDIR 29 CHKFILE 41
PTSMOVE 29 GCMDICT 41
PTSLOPE 29 LOCK-GCM-REACTORS 41
PTSPERP 29 KILL-GCM-REACTORS 42
PTSPEN 29
PTSIDE 30 2.12 Group GCMDRIVE 42
PTS2TRI 30 INSVEHICLE 42
TRIPLANE 30 ADDTRAILER 42
SRF2SRF 30 GCMDRIVE 42
GRADE2LIN 30 GCMDRIVEPATH 43
LOCKPTS 30 CHKTURN 43
DYNVEHICLE 43
2.7 Group EDIT 31 MAXTURN 43
EXTSLOPE 31 TUG 43
FIXELEV 31 SIGHT 44
DIRSLOPE 31 SIGHTCHART 45
CHGSLOPE 32 LOCKDRIVE 45
MOVEVRT 32
EXTTRI 32 2.13 Group DYNPROF 45
TRINT 32 VPI 45
RMAX 33 VTANG 45
SHOWTRI 33 DYNCURVE 45
HIDETRI 33 EDITDYNCURVE 46
HIDESIDE 33 VLINK 46
DYNPROFLBL 46
2.8 Group UTIL (TUTIL) 33 LOCKPROF 46
TRIPOLY 33
ROW 34 2.14 Group CSC1 47
SWEEP 34 INSPAVETL 50
TRI2TRI 34 INSPAVEML 50
FACE2TRI 34 EDITPAVE 50
SINGLE 34 PAVE2HCL 51
SETEDGE 51
2.9 Group XSEC 34 ADDEDGEH 52
STASEC 35 ADDEDGEV 52
FINDSEC 35 SHOWEDGE 52
LINE2XSEC 35 CREATEALN 52
CALCSEC 35 EDITALN 53
DRAWSEC 35 CALCPAVE 53
LBLSEC 36 CSCTEST 53
XLBLSEC 36 DRAWSEC0 59
XFORMAT 37 PAVE2XSEC 59
UPDATESEC 37 APPLYCSC 60
XFRAMES 37 DRAWSLOPE 60
XREORDER 37 FILLETSLOPE 60
MAKESTF 37
2.15 Group CSC2 61
2.10 Group VOL 38 XSTRX 61
XSTRY 61
GRIDVOL 38
XSTRSLOPE 61
CALCVOL 38
XSTRGRADE 61
XSTRINT 62
XSTRLINK 62
XSTR2LINE 62
XSTRSRF 62
XSTRTOPSOIL 63
XSTRSTEP 63
XSTRBLOCK 63
XSTRTMPL 63
XSTRIN 63
XSTROUT 64
XSTRROW 64

2.16 Group CSCi 64


PAVESYMBOL 65
CSCPOINT 65
CSCLINE 65
CSCBLOCK 66
CSCSTRING 66
CSCIN 66
MUDETAIL 67
MLDETAIL 67
FUDETAIL 67
FLDETAIL 67
CUDETAIL 67
CLDETAIL 67
MAKECSCM 67
MAKECSC 68
PAV2STR 68
XSTRDENSE 68
PAVELINE 68
XPAVELINE 68

2.17 Group GCMTAB 69


TABENZ 69
TABPROF 69
TABXSEC 69
TABQTT 69
TABVOL 69

APPENDICES:
Guide to GCM2000 movies
Guide to GCM2004 movies
Guide to GCM2006 movies
Guide to GCM2009 movies

GCMPAVE
Pavement Resurfacing Module
1.0 GCMx64 (GCM2009) – Command Overview
GCMx64 (GAVRAN – Civil Modeller Rel.2009, or GCM2009) supports modeling of linear (highways, railways)
and planar (parking lots, airports, crossroads etc.) civil engineering facilities. Working drawings (profiles, cross
sections, grading plans, mass diagrams etc.) are generated from the 3D model automatically. GCM2009
manipulates standard entities, 3DFACEs, LINEs, POLYLINEs, ARCs, POINTs etc. 3D models consist of triangles,
rd th
which are standard 3DFACEs (with 3 and 4 vertex identical). Though created from simple entities, models
produced with GCM2009 are fully dynamic – move a centerline and the entire model of the road changes
automatically, including crossroads (!!!).

In GCM2009 there are two major toolbars, “GAVRAN CLASSIC” and “GAVRAN NEW”. On Fig1-01, “GAVRAN
CLASSIC” is aligned along the left edge of the screen, while “GAVRAN NEW” is on the right side.

Fig.1-01. GCM2009 Toolbars

“GAVRAN CLASSIC” contains 11 toolbars, or command groups: DTM, PLAN, PROF, TMPL, GRAD, PTS, EDITRI,
TUTIL, XSEC, VOL and UTIL.
“GAVRAN NEW” contains 7 more toolbars: GCMDRIVE, DYNPROF, CSC1, CSC2, CSCi, GCMTAB and
GCMPAVE.

Short descriptions of each command group are listed below by using format – Group’s Name (Toolbar’s name –
Meaning).

“GAVRAN CLASSIC” Toolbar


(11 groups of commands):

DTM (DTM – Digital Terrain Modeling) – This group of commands is intended for digital terrain modeling and the
modeling of existing civil engineering facilities. By using these commands, you can generate both the TIN and grid
terrain model, generate contour lines of existing and proposed surfaces etc. There are also tools for the analyses of
watersheds and drainage patterns.

PLAN (PLAN – Horizontal Alignment) – With these commands you can design horizontal alignment, define
centerlines, station and label centerlines …

1
PROF (PROF – Longitudinal Profile) – By using these commands, you can literally cut longitudinal profiles out
from the terrain model, design vertical alignment, correlate horizontal and vertical alignment, label profiles etc.

TMPL (TMPL - Templates) – Cross section’s arrangement and its changes along the centerline are defined by
using, the so called templates. Based on horizontal alignment, vertical alignment and the templates, 3D models of
linear facilities (highways, railways) are generated.

GRAD (GRAD - Grading) – By using these commands, you can generate linear slopes along linear facilities,
complex slopes surrounding planar facilities and conical slopes at the sharp corners. Curbs, sidewalks and
shoulders, encircling crossroads and parking lots, are created with GRAD commands too.

PTS (PTS – Setting Points) – With these commands, you can import surveyed data and manipulate break lines to
be fitted into the terrain model. You can also position points that will serve as a base (or as a skeleton) for modeling
planar facilities.

EDIT (EDIT – Editing Triangulated surfaces) – These commands support editing of triangulated surfaces,
especially manmade triangulated surfaces, such as pavements at crossroads.

UTIL (TUTIL – Triangulation Utilities) – With these commands, you can create some specific triangulated
surfaces, either simple ones, such as rows of paired triangles representing building pads, or more complex, such
as lakes with island openings.

XSEC (XSEC - Cross Sections) – By using these commands, you can extract cross sections from the most
complex 3D models. Multiple surfaces could be labeled and all quantities (such as cut and fill areas) calculated.

VOL (VOL - Volumes) – While basic options for cut and fill area calculations are included in the labeling options of
the cross sections (group XSEC), VOL commands primarily support grid cell volume calculations, which are more
appropriate for planar facilities.

UTIL (UTIL - Utilities) – These commands support layer manipulation, coordinate extraction and tabulating,
rescaling labels etc.

“GAVRAN NEW” toolbar (7 groups of commands):

GCMDRIVE (GCMDRIVE – Vehicle Movement Simulation) – The old commands for vehicle movement
simulation are moved to this new group. These commands simulate movement of vehicles along the selected
trajectories, providing dynamics. It means that all the trajectories are dynamically linked to the crossroads
geometry, causing automatic repositioning of vehicles, while manipulating a crossroad’s layout. Interactive
techniques of puling and pushing vehicles are introduced in GCM2009. Sight distance analyses are added to this
group as well.

DYNPROF (DYNPROF – Dynamic Longitudinal Profile) – New commands dealing with dynamic longitudinal
profiles. Points of vertical intersections, tangents and vertical curves are dynamically linked now, providing creation
of fully dynamic vertical alignments. By moving some elements of vertical geometry, entire alignments are
recalculated and modified, together with all accompanying labels.

CSC1 (CSC1 – Cross Sections Constructor 1) – New design approach, introduced in GCM2006, aims to
produce highly detailed cross sections directly, avoiding template definition. Simple pavement definitions are
attached to the key points along the centerline. Based on these pavement definitions, the cross grade and the
width of the pavement are calculated wherever the cross section is to be extracted. Thus, these rudimentary
pavement descriptions (pavement LINEs) are automatically imported into “empty” cross sections (cross sections
containing existing terrain only). Finally, by using roadway details stored in “*.csc” files, detailed cross sections are
automatically constructed upon the pavement LINEs. All types of two lane road and motorway details are
supported: complex drainage details, nonparallel pavement layers etc. Complex cut/fill slopes and filleted slopes
may also be used.

CSC2 (CSC2 – Cross Sections Constructor 2) – Just as the strings of POINTs are used to mark important
features (edges) of the 3D model, Xstrings (XSTR) are used to identify some important positions within the cross
sections. Thus, for example, by using Xstrings the ditches can be inserted into the cross sections and manipulated
them vertically. Also, by using Xstrings, cross sections can “communicate” with the 3D model by importing and
exporting strings into 3D. The entire CSC2 module is intended for Xstrings’ manipulation.
2
CSCi (CSCi – Cross Sections Constructor i) – This group supports graphical design of CSC details.

GCMTAB (GCMTAB – GCM Tables) – A few commands exporting coordinates, cross sections’ data, profiles’
data, quantities and volumes, all by using new tabular format.

PAVE (GCMPAVE – Pavement Resurfacing Module) – For road resurfacing projects. Scraping and leveling,
optimizing vertical alignment, drafting resurfacing details within cross sections.

2.0 Command Reference


While GCM2004 came with more than 7 hours of AVI files (06:20:15 of GCM2000 movies and 00:48:25 GCM2004
movies), GCM2006 brought additional 06:16:23 of movies and, finally, GCM2009 introduces 02:56:06 of new video
material. It is highly recommended to go through all these movies first. Real design examples are worked out in
these movies and each GCM command was invoked several times while working. Thus, while watching movies,
you can see each command, its options, functionality and operational use. And each movie is accompanied with
the text windows containing appropriate comments.

Therefore, only short descriptions are given for each command here. But, these brief descriptions are followed by
movie titles in which a certain command appears and the times of its appearance are given.

Commands and options from GCM2000 are given in black. Also, GCM2000 AVI files are listed in black at the end
of each command.

Commands and options new in GCM2004 are given in blue. Also, new GCM2004 AVI files are listed in blue at the
bottom of the command.

Commands and options new in GCM2006 are given in green. Also, new GCM2006 AVI files are listed in green at
the bottom of the command.

Commands and options new in GCM2009 are given in reddish brown. Also, new GCM2009 AVI files are listed in
reddish brown at the bottom of the command.

Command names and comments that are obsolete are given in grey color.

If new buttons are added to a particular toolbar, both old and new look of that toolbar are shown.

2.1 Group DTM

Commands from this group are intended for terrain modeling and modeling of existing civil engineering facilities.

EDIST
Contour lines, digitised or vectorised, are usually represented as POLYLINEs. Usually, they are left at 0.0
elevation. By using the EDIST command, you can quickly raise these POLYLINEs at proper elevations. Select
base POLYLINE, set its real elevation and specify contour interval. Elevations of subsequently selected
POLYLINEs will be incremented automatically.

3
DTM2 00:00 DTM4 02:23, 03:03

GENPTS
The command GENPTS generates POINT entities from which the TIN model will be calculated later. These
POINTs could be generated from POLYLINEs and LINEs depicting contours, from blocks representing surveyed
data etc. POINTs could be generated from all entities belonging to the certain layer or from its interactively selected
subset.

DTM3 00:25 DTM4 02:08 DTM6 00:52

PTSTIN
The TIN model is calculated from sets of POINT entities which are stored in “*.pts” files. These files are created by
using PTSTIN command. The command takes POINTs belonging to a certain layer (all POINTs or an interactively
selected subset) and stores them in “*.pts” file.

DTM4 00:00 DTM6 00:52


XROAD7 04:46
NOTE: PTSTIN, CALCTIN and DRAWTIN are always called in sequence. Whenever CALCTIN is invoked, PTSTIN and
DRAWTIN are invoked as well. Therefore, when looking for PTSTIN and DRAWTIN commands, you should see CALCTIN
movies too.

CALCTIN
TIN model is calculated from POINTs stored in selected “*.pts” file. Break lines, stored in the selected “*.brk” file,
are fitted into the calculated model automatically. The calculated TIN model will be stored in “*.tri” file (with the
same name as specified “*.pts” file), while the TIN border will be stored in “*.bdt” file.
In GCM2006, CALCTIN runs 20 to 100 times faster, while fitting break lines (with the “*.brk” file specified).

DTM4 00:28 DTM5 03:22, 03:53 DTM6 00:52, 05:28


GRAD6 08.53 GRAD8 02:55 PLAN3 07:28
XROAD1 09:08 XROAD3 01:20, 11:28 XROAD4 12:30, 14:17 XROAD7 04:46

DRAWTIN
DRAWTIN takes selected “*.tri” file and draws the TIN model.

DTM4 00:47, 02:36 DTM6 00:52


XROAD3 02:22 XROAD7 05:01
NOTE: PTSTIN, CALCTIN and DRAWTIN are always called in sequence. Whenever CALCTIN is invoked, PTSTIN and
DRAWTIN are invoked as well. Therefore, when looking for PTSTIN and DRAWTIN commands, you should see CALCTIN
movies too.

TINSKIRT
The skirt (or border) encircling the TIN model is drawn with the TINSKIRT command. The command asks for “*.bdt”
file and base elevation of the skirt.

DTM4 01:31

DEFGRID
DEFGRID defines the grid pattern for the grid terrain model. Origin point, grid orientation, grid cell size and other
grid data are stored in “*.grd” file.

DTM7 00:00, 00:42

4
CALCGRID
CALCGRID takes the grid definition file (“*.grd” file) and the triangulated surface file (“*.srf” file created with
SURFACE command – group GRAD). Grid model is calculated as if laid over TIN terrain triangles (these triangles
are stored in “*.srf” file). The calculated grid model is stored in “*.trg” file with the same name as the specified
“*.grd” file, while the grid model’s border is stored in “*.bdg” file.

DTM7 00:00, 01:07

DRAWGRID
DRAWGRID reads selected “*.trg” file and draws the grid terrain model.

DTM7 01:19

GRIDSKIRT
GRIDSKIRT reads selected “*.bdg” file and draws the skirt encircling the grid model.

DTM7 01:19

ISOLINE
rd th
The command ISOLINE generates contours from the selected group of triangles (3DFACEs having 3 and 4
vertex identical). Triangles are selected by using the layer/color criteria. You can select contouring interval, color for
th th
highlighted contours (color for every 4 or 5 contour) etc.
DTM5 00:00 DTM6 01:43, 02:29, 07:00 DTM7 02:08 DTM8 03:45 DTM11 00:20
GRAD1 00:36 GRAD2 03:10 GRAD4 06:44 GRAD5 03:14 GRAD6 10:04
GRAD7 10:00, 14:21, 18:53 GRAD8 02:08, 07:22, 12:07, 16:24
TEMPLATE3 05:14, 17:29, 18:34 TEMPLATE6 06:08
XROAD1 14:19 XROAD2 00:24, 01:16 XROAD3 03:00, 07:21, 07:38, 08:20
XROAD4 06:08, 08:50, 15:25, 16:15 XROAD5 04:40, 05:59, 09:26
XROAD6 03:28 XROAD7 06:57, 07:32

ISOLBL
Contour lines are labeled by using the ISOLBL command. Elevation inscriptions are placed inside or outside
selected contours (POLYLINEs).
DTM2 00:36
GRAD5 06:29 GRAD6 10:25

ISOLBLX
Unlike ISOLBL command, which labels contours one by one, ISOLBLX labels entire groups of contours. Labels are
placed along the auxiliary LINE entity that intersects contours, which must be drawn first. Labels could be placed
either inside or outside the contours. The number of decimal places used for labeling is set by UNITS command.

DTM / 2-ISOLBLX

NEWPTS
NEWPTS inserts new POINTs into the selected triangles. Select a group of entities, pick a pattern for triangles
rd th
(3DFACEs having 3 and 4 vertex identical) and a pattern for POINTs. The program searches the group and
takes all triangles belonging to the same layer as the triangle’s pattern and all POINTs belonging to the same layer
as the POINT’s pattern. For each POINT the program looks for a triangle to which it belongs in plan projection. If
5
the POINT belongs to a certain triangle, the triangle is exploded into three smaller triangles, with the central vertex
coinciding with that POINT.

The command is used to include POINTs generated along the outer edges of cut/fill slopes into the existing TIN
terrain model. Then, the break line following these POINTs is defined and fitted into the terrain model.

GRAD5 00:59 TMPL5 21:25 XROAD6 05:23

CHGDIAG
Select the common edge of two neighbouring triangles. If these two triangles form a convex quadrilateral, the
selected edge is taken as its diagonal and switched into an alternative position. CHGDIAG is used to manually fit
break lines into the TIN model. Intersections with ridges, stream banks, cut/fill slope edges and other natural or
manmade features could be eliminated by manually switching triangles edges.

DTM5 01:29, 04:26 DTM6 01:43,05:42 DTM8 03:26


GRAD6 09:26
XROAD3 07:36, 08:04 XROAD5 05:48

FITBRK
Select one POLYLINE (LWPOLYLINE or 3DPOLY) and a triangle pattern. The program takes the POLYLINE’s
segments and switches all the triangle edges crossing these segments. The program switches only the triangles
belonging to the same layer as the selected triangle pattern. With FITBRK you can fit long break lines into the TIN
terrain model. In fact, FITBRK performs automatic CHGDIAG on the POLYLINE’s segments.

DTM5 01:56, 04:26 DTM6 04:57, 05:42


GRAD5 01:30
TEMPLATE5 21:25
XROAD6 06:22

XFITBRK
Unlike FITBRK, XFITBRK command takes several POLYLINEs and fits them into the TIN model as break lines.

1-xfitbrk 00:00

WPSELECT
Select LWPOLYLINE and one triangle (as a pattern). The program takes all triangles belonging to the same layer
as the triangle pattern and which are enclosed within a selected LWPOLYLINE. These triangles are stored into
“Previous” selection set. Then, you can erase “Previous” selection set or move it to another layer.

When splicing the model of a newly designed facility into the existing terrain model, you will have to go through
these steps:
- include POINTs along the outer edges of cut/fill slopes into the terrain model (NEWPTS)
- generate POLYLINE through these POINTs (command STRING – group GRAD) and fit this POLYLINE into the
terrain model as a break line (FITBRK command)
- by using WPSELECT, take terrain triangles enclosed within the POLYLINE and move them to another layer.

GRAD5 01:58
TEMPLATE5 21:25
XROAD6 06:45

TRIMOD
TRIMOD supports import of TIN models generated with software solutions other than GCM. While GCM generates
rd th
TIN triangles as 3DFACEs with 3 and 4 vertices identical, some software solutions use the same entities
st th
(3DFACEs) but overlap 1 and 4 vertex. TRIMOD takes 1-4-identical-vertex triangles and converts them into 3-4-
6
identical-vertex ones.

DTM / 4-TRIMOD

TRI2SOL
rd th
TRI2SOL command overlaps selected triangles (3DFACEs with 3 and 4 vertices identical) with triangular SOLID
entities (drawn in current layer/color), enabling solid hatching of cut slopes, fill slopes etc.

DTM / 3-TRI2SOL

TRIGRADES
TRIGRADES determines grades of selected triangles, sorts them according to grade intensity, and overlaps each
triangle with SOLID. SOLIDs are placed into specific layers, each layer covering exact range of grades.

1-DTM / DTM-2009 00:39

SHOWER
Command SHOWER traces the flow of the water over the triangulated model in the same manner as the command
DOWNFLOW (the next command) does, except it traces not only one, but several drops of water at the same time.

1-DTM / DTM-2009 03:54

DOWNFLOW
DOWNFLOW asks you to pick up a position where a drop of water falls and for a set of triangles surrounding
selected position. The command then traces the flow of the drop down the triangles. If the trajectory ends in a
depression (and not on the outer boundary of the selected group of triangles), a special block will be added at the
end of the trajectory.

1-DTM / DTM-2009 02:54, 05:46

UPFLOW
UPFLOW is opposite to DOWNFLOW. UPFLOW traces the “up-flow” of the raindrop. The command traces the
trajectory of the raindrop ending in a selected position. From the selected position up, the trajectory is calculated
backwards using the steepest possible path. The command is very handy when determining cachment area
(watershed) for an inlet. Pick an inlet position and the surrounding triangles, and the water will start “flowing-up”
from the inlet using the steepest possible path.

1-DTM / DTM-2009 06:49

RIDGE
Command RIDGE marks ridge lines on a selected set of triangles. These are the triangles’ edges from which the
water is directed away. Optionally, RIDGE analyses not only TIN edges, but even non-TIN edges. Non-TIN edges
are edges modified with TRI2TRI command (in this case, the command runs slower). Handy for drafting watershed
boundaries.

1-DTM / DTM-2009 09:03

7
PEAKS
Command PEAKS marks isolated peaks on a selected set of triangles. Peaks are the triangulation nodes from
which all triangles’ edges are directed downward.

1-DTM / DTM-2009 11:08

BOTTOM
Command BOTTOM marks bottoms on a selected set of triangles. If both grades of two neighboring triangles are
directed towards their common edge, then this edge becomes a bottom line. The command may optionally analyze
not only TIN edges, but even non-TIN edges (edges modified with TRI2TRI command). The command runs slower
when non-TIN analyses are required.

1-DTM / DTM-2009 11:55

DEPRESSIONS
Command DEPRESSIONS marks the depressions on a selected set of triangles. Depressions are the triangulation
nodes from which all triangulation edges are directed upward. Optionally, the command asks whether to analyze
nodes entirely surrounded by the triangles only, or to include the nodes located on the perimeter of the selected set
of triangles. The nodes marked as depressions that are located on the perimeter, may not necessarily be real
(“absolute”) depressions.

1-DTM / DTM-2009 14:00

LOCKDTM
LOCKDTM temporary disables (locks) all aspects of DTM dynamics. By entering 1, the dynamics is locked. By
entering 0, DTM dynamics is active again.

DTM / 5-LOCKDTM

2.2 Group PLAN

With these commands you can design elements of horizontal alignment, label these elements, create centerlines,
station centerlines etc.

CC
The command connects two selected ARCs by using reverse curve (continuous “S” curve) with no straight section
in between. Continuous reverse curve consists of two clothoids specified by parameter A (or two A parameters).
The first ARC is treated as a fixed one, while the second ARC, rotating around the specified point, comes to a
position required by A parameters.

If selected ARCs intersect or fall within each other, the program will try to construct an “O” curve and you will be
asked for one parameter A only.
8
PLAN2 01:51, 04:02, 04:44, 05:29, 11:28
PLAN / 2-TRANS

CT
Connects ARC (curve) and LINE (tangent) with a clothoid of the specified parameter A. ARC is fixed, while LINE,
rotating around an interactively selected position, comes to a distance required by the parameter A.

PLAN2 09:34
PLAN / 2-TRANS

TC
Connects LINE (tangent) and ARC (curve) with a clothoid of the specified parameter A. LINE is fixed, while ARC,
rotating around an interactively selected position, comes to a distance required by the parameter A.

PLAN2 09:46
PLAN / 2-TRANS

CTC
Connects two ARCs with two clothoids, leaving a straight section between them. Both ARCs are fixed and the LINE
entity fills the gap between two successive clothoids.

PLAN2 08:52

TRANS
Command TRANS fits the transitional element between two fixed ones, The command is usually called in
conjunction with “rotating” commands: CC, CT, TC.

PLAN / 2-TRANS

INSCLO
By using iterations, INSCLO inserts a clothoid between the fixed tangent and fixed arc. Tolerance for the clothoid’s
ending point must be specified as it never perfectly fits the fixed arc (by default, the tolerance is 0.00001).

2-PLAN / PLAN-2009 05:24

ARA
Draws a standard roadway curve: clothoid-arc-clothoid (parameter A – radius R – parameter A) between two
selected tangents.

PLAN2 00:56, 12:27


PLAN4 00:19, 01:20, 02:30, 05:10, 05:38, 07:00, 09:26, 10:20
PLAN / 4-EDITARA PLAN / 6-GCMTANG

LRL
This ommand does the same as ARA command, except that the clothoids are entered by using their length instead
of parameter A.

PLAN / 3-LRL

9
EDITARA
By using EDITARA command, it is possible to change R/A parameters of ARA shapes already drawn by ARA
command. EDITARA automatically triggers all the graphical changes, including dynamics.

PLAN / 4-EDITARA

3R
The command 3R constructs three adjoining ARCs. 3R shapes are used when designing sharp turns at
crossroads.

PLAN2 10:11, 12:27


PLAN4 00:19, 02:30, 03:23, 06:31, 09:26, 11:01
XROAD7 00:09
PLAN / 5-EDIT3R PLAN / 6-GCMTANG

EDIT3R
By using EDIT3R, it is possible to change radii within the already drawn 3R shapes. EDIT3R automatically triggers
all the graphical changes, including the dynamics.

PLAN / 5-EDIT3R

LINK
Creates a dynamic LINE entity (LINK). Placed between successive roadway curves (ARA shapes constructed
between successive pairs of tangents), LINK entities maintain continuity of a centerline.

While changing tangents, ARA (and 3R) shapes are dynamically modified. LINK entities automatically follow any
change in ARA (or 3R) shapes keeping up the continuity of the centerline.

PLAN2 12:52, 13:06 PLAN4 00:29

GCMOFFSET
By using GCMOFFSET, elements of roadway geometry are offset one by one. When offsetting clothoids, you will
be asked whether to apply widening (different starting and ending offsets) or not. Entities offset with GCMOFFSET
dynamically follow their parent entities.

PLAN2 14:10, 14:41, 15:22 PLAN3 04:12


PLAN4 00:49, 03:23, 05:10, 05:38, 06:51, 08:26, 10:28
PLAN / 6-GCMTANG

GCMTANG
GCMTANG draws a tangent in relation to the ARC, clothoid or clothoid’s offset. The command is primarily used to
construct the tangents upon the curved pavement edges. As the pavement edges are moved, the tangents drawn
by GCMTANG are automatically repositioned as well. If some ARA or 3R shapes (crossroad edges) are
constructed upon these tangents, they are repositioned too.

Thus, GCMTANG enables construction of a fully dynamic crossroad plan, even when the crossroad is constructed
upon the curved intersecting centerlines.

PLAN / 6-GCMTANG

10
MOVETANG
As parent entities (ARCs, clothoids or clothoid offsets) are moved, the tangents drawn upon them, by using
GCMTANG command, are moved as well. While automatically sliding along the ARC, the dynamic tangent is
attached to the specific tangent point, keeping the angle ratio constant (ratio of angle between the tangent point
and the starting point of the ARC and angle between the tangent point and the ending point of the ARC). While
automatically moving along the clothoid or its offset, the tangent is attached to the tangent vertices. If you are not
satisfied with the existing tangent points, especially after automatic dynamic changes of the parent entities, you can
slide the already drawn tangent along the parent entity manually with MOVETANG command.

PLAN / 6-GCMTANG

ABSTANG
While tangent LINEs enclosing entire ARA or 3R shapes represent typical roadway tangents, ABSTANG draws
local tangents (or absolute tangents) upon the specific ARCs and clothoids. These shorter tangents are drawn
upon curve labels inserted by using LBLHOR command and are perpendicular to them.

1-abstang 00:00

LBLHOR
Labels clothoids and ARC’s one by one. A clothoid is labeled with parameter A, while ARC is labeled with its
radius.

PLAN2 01:17, 04:36 PLAN4 03:05, 09:57

LBLDET
Places tables containing detailed numerical data on selected ARCs and clothoids.

PLAN2 15:41 PLAN4 06:07

DEFCL
Select a starting entity of a centerline and specify a starting station. The program looks for consecutively adjoining
entities and forms a centerline. Centerline entities are stored in “*.hcl” file.

PLAN3 00:30, 01:44, 02:19, 02:49 PLAN4 01:40,


PROFILE2 00:09
TEMPLATE4 00:00, 08:32
XSECTION4 02:34
XROAD1 10:47 XROAD7 03:08

OFFSETCL
The command offsets an entire centerline to the left or right. The command asks for the centerline file (“*.hcl” file)
and offsets entities listed in the file.

PLAN3 03:57
PLAN4 00:49, 02:11, 03:23

SHOWCL
The command asks for the centerline file (“*.hcl” file) and highlights its entities.

11
PLAN3 01:17, 02:08, 02:36 PLAN4 04:28
TEMPLATE4 10:18 TEMPLATE5 00:32
XROAD4 00:00 XROAD7 01:36

LBLCL
Performs the LBL command on all entities belonging to a specified centerline. Clothoids are labeled with
parameters A, while ARCs are labeled with radii.

PLAN3 03:36 PLAN4 01:52

STATION
After selecting “*.hcl” file, the command stations (labels) either all entities belonging to the centerline or selected
entities only.

PLAN3 04:42 PLAN4 01:56


TEMPLATE4 00:10, 05:27

STAOFS
Performs two opposite calculations. By using the option “Spot”, you can label stations and offsets for points
interactively selected along the centerline.

By using the option “Find”, positions determined by a specified station and offset, are marked with appropriate
station/offset blocks.

PLAN3 05:47, 06:24 PLAN4 06:16


PROFILE2 06:32, 07:56
XROAD1 10:57 XROAD7 02:32
PLAN / 7-STF2STA

STF2STA
STF2STA command takes STAOFS blocks positioned along the selected centerline and creates “*.sta” file. The
command asks for “*.hcl” file name, some STAOFS blocks and “*.sta” file.

PLAN / 7-STF2STA

FSTAOFS
The command asks for the centerline file (“*.hcl” file) and for the station/offset file (“*.stf” file). Station/offset file
contains points listed in station-offset-elevation format.

Positions coinciding with stations, offsets and elevations listed in the selected file are labeled with special blocks
(INSERT entities). From these blocks you can generate POINTs (PTSTIN command), calculate the TIN model
(CALCTIN command) etc.

By using FSTAOFS, you can import cross sections surveyed along the predefined cntreline and generate the TIN
model from them.

PLAN3 06:50 XSECTION3 01:40, 02:16, 03:13

ROTSTA
o
Takes stationing labels and rotates them for 90 . With this command, you can align stationing labels with the
centerline (without redefining stationing blocks).

12
PLAN3 08:07

CLIN
CLIN command takes “*.lst” file in format:

Station R A Phi-T YH XH
Stat-Diff T1 T2 D-Phi YT XT

and draws ARCs, LINEs and clothoids based on the file’s content. This format is quite common in Central
European countries.

PLAN / 8-AXIS

CLOUT
CLOUT takes “*.hcl” file and creates centerline description in the format:

Station R A Phi-T YH XH
Stat-Diff T1 T2 D-Phi YT XT

which is stored in “*.lst” file.

PLAN / 8-AXIS

FITLINE
The command takes a selected set of LINEs (chosen from a specific layer) and overlaps them with three new
LINEs. The first new LINE is a mathematical regression on the selected LINEs, based on the “least square”
method. The remaining two new LINEs are tangent to the selected LINEs, from the left and from the right. Of all the
lines passing through two endpoints of the selected LINEs and not intersecting them, the two tangents (left and
right) producing least squares are drafted. These “least square” tangents are handy when analyzing pavement
edges on road reconstruction projects.

2-PLAN / PLAN-2009 00:26

FITARC
FITARC is similar to FITLINE command, except it draws three new ARCs instead of new LINEs. Inner and outer
tangent ARCs are the ones producing least squares of all the ARCs passing through three endpoints of the
selected LINEs and not intersecting them. The middle ARC passes through the midpoints of lines connecting
starting points, midpoints and ending points of “least square” ARCs.

2-PLAN / PLAN-2009 00:26

CLTEXT
CLTEXT places text inscriptions perpendicular to the centerline. The inscriptions are attached to the selected
station-offset blocks (inserted by using STAOFS command).

2-PLAN / PLAN-2009 04:27

VCLPLAN

VCLPLAN labels elements of vertical alignment along the selected centerline. Command asks for “*.vcl” and “*.hcl”
file (vertical alignment to be labeled and the centerline) and for a lateral offset. If negative offset is specified, labels

13
are placed to the left. Otherwise, they are placed to the right from the centerline. Current vertical exaggeration is
used for grade labels.

2-PLAN / PLAN-2009 03:34

LOCKPLAN
LOCKPLAN temporary disables (locks) all aspects of plan dynamics. By entering 1, the dynamics is locked. By
entering 0, plan dynamics is active again.

PLAN / 9-LOCKPLAN

2.3 Group PROF

Commands from this group are intended for vertical alignment design. With these commands you can extract
longitudinal profiles from a terrain model (or models of existing or newly designed facilities), design elements of
vertical alignment, define vertical alignments, arrange profiles etc.

GETPROF
Longitudinal profiles are extracted from triangulated surfaces (TIN terrain models or facilities modelled by using
triangles) with the GETPROF command. You are asked for the name of a triangulated surface (“*.srf” file created
with the command SURFACE from GRAD group) and a centerline name (“*.hcl” file). The profile could be
calculated either along the selected centerline or at the specified lateral offset. The extracted profile is stored into
“*.tcl” file.

Command GETPROF runs 10-60 times faster in GCM2004 than in GCM2000.

PROFILE2 00:57, 03:25, 05:21 PROFILE4 01:18, 01:54


TEMPLATE6 01:18
XROAD4 00:42

CHKTCL
By using GETPROF, you can extract not only terrain profiles, but profiles from existing or newly designed civil
engineering facilities. Some numerical modifications are made to GETPROF in order to enable extracting profiles
from closed structures (tunnels, overpasses etc.). But, in some rare cases (when terrain triangles are extremely
large and centerline curves extremely small), a new algorithm produces improper results.

In cases like these, the CHKTCL command must be used to correct the extracted “*.tcl” file. CHKTCL must be
invoked before drawing a profile with the DRAWPROF command or before inserting an additional profile into the
already drawn profile with DRAWSRF.

PROFILE4 00:11, 02:04 02:29, 03:03

DRAWPROF
DRAWPROF draws a longitudinal profile. The command asks for “*.hcl” file (centerline file) and “*.tcl” file (terrain
profile file). The profile is drawn by using vertical exaggeration set with the VEGZAG command. A curvature
14
diagram is placed along the bottom of the profile.

PROFILE2 02:28 PROFILE3 02:41 PROFILE4 02:11, 03:31


XROAD1 01:20 XROAD4 01:09

DRAWSRF
With DRAWSRF you can import additional profiles (“*.tcl” files) into already drawn longitudinal profiles. The
program asks you to select a profile and “*.tcl” file. By using DRAWSRF, you can subsequently import profiles
calculated at parallel offsets (in relation to the centerline), profiles cut out from tunneling structures, bridges,
underground utilities etc.

PROFILE2 03:43, 05:39 PROFILE4 02:38


TEMPLATE3 10:08, 11:28 TEMPLATE6 01:08, 01:34
XROAD4 01:28 XROAD7 00:48

GRADE
Draws a LINE at a specified grade within the selected longitudinal profile. First, you are prompted to select a
profile. While drawing the grade, the profile’s vertical exaggeration is applied automatically.

PROFILE3 00:00

CURVE
Draws a vertical curve between two LINEs representing grades (either drawn manually or by using the GRADE
command). After picking one of the profile’s entities, indicating the profile you are working with, you have to enter
the radius of a vertical curve. Then, you have to pick two LINE entities (grades).

PROFILE3 00:00
XROAD1 12:00 XROAD4 02:27

XCURVE
Command XCURVE draws vertical curve between two selected tangents and through the selected point. The
radius is calculated automatically.

PLAN / 1-XCURVE

DEFVCL
After placing elements of vertical alignment (grades and curves), you have to group them as a vertical alignment
and store it into “*.vcl” file. First, specify the name for the alignment and select a profile by picking one of its entities.
Select the first entity of vertical alignment and then, select other entities that could be consecutively joined to the
first one. The program searches for adjoining entities and stores vertical geometry into the specified “*.vcl” file.

PROFILE3 00:34
TEMPLATE3 12:04, 13:45 TEMPLATE6 01:53
XSECTION4 02:50
XROAD1 12:16 XROAD4 02:45
XROAD7 01:08

DRAWVCL
A vertical alignment could be imported into an already drawn longitudinal profile with the DRAWVCL command.
Just specify the vertical alignment to be imported (“*.vcl” file) and select a profile by picking one of its entities.

15
PROFILE3 02:58

LBLGRADE
After selecting a profile (by picking the profile’s entity), select a pattern for the TEXT inscriptions and enter
precision. Then you are asked to select several grades and the program will calculate and label elevations along
these grades.

PROFILE3 01:11, 03:07

LBLCURVE
After selecting a profile (by picking the profile’s entity), select a pattern for the TEXT inscriptions and enter
precision. Then you are asked to select several vertical curves and the program will calculate and label elevations
along these curves. You will also be asked to specify positions for additional labels (labels containing radius, grade
change, tangent length etc.).

PROFILE3 01:25, 03:14

LBLVPI
The command LBLVPI labels vertical points of intersection (VPI). After selecting profile, TEXT pattern and
precision, you are asked to select a vertical alignment (“*.vcl” file) whose VPIs are to be labeled.

PROFILE3 03:21

SPOT
After selecting the profile you are working with, pick several points within the selected profile and the program will
label their stations and elevations.

PROFILE2 05:49
TEMPLATE5 07:58
XROAD4 02:11

STAELEV
Within the selected profile, STAELEV marks positions calculated from entered stations and elevations.

By using the “Manual import” option, pairs of stations and elevations are entered manually, from the command line.

If the option “STAOFS blocks” is required, you are expected to select a set of station/offset blocks (placed with
STAOFS command from group PLAN). The station and elevation from each of these blocks are retrieved and
marked within the selected profile.

PROFILE2 06:17, 06:34, 06:17


XROAD1 11:22
XROAd7 02:45

EXTREME
The command EXTREME marks extreme points of selected vertical curves (bottom of the sag curve or top of the
crest).

PROFILE2 01:51

16
PROFTEXT
The command takes text inscriptions placed along the centerline by using CLTEXT command and transfers them
into a selected longitudinal profile. All transferred text labels are placed at the same elevation, by using selected
layer/color/style pattern.

3-PROF / PROF-2009 00:27

ADDELEVE
In some cases, especially while working on final designs, a terrain is surveyed at the stations that do not coincide
with the constant stationing intervals. Therefore, you will need elevations (both existing and proposed ones) labeled
at these stations too. These additional stations are labeled with ADDELEVE (existing elevations) and ADDELEVP
(proposed elevations). Before invoking these two commands, you must create the stations’ file (“*.sta” file)
containing stations for which additional elevations are needed. Stations’ files are created with the STASEC
command from the XSEC group.

Additional terrain elevations are labeled by using the ADDELEVE command. First, specify “*.sta” file containing
stations to be labeled and pick a profile. Then, select a TEXT pattern and a grid LINE’s pattern (labels will be drawn
by using their styles, colors, layers etc.). Finally, after specifying precision (number of decimal places), you are
asked to pick a pattern for terrain LINEs and a group of these LINEs. Based on these LINEs, the program
calculates elevations coinciding with the stations listed in the selected “*.sta” file.

PROFILE3 03:41, 04:34

ADDELEVP
Additional proposed elevations are labeled by using the ADDELEVP command. First, specify “*.sta” file containing
stations to be labeled and pick a profile. Then select a TEXT pattern and a grid LINE’s pattern (labels will be drawn
by using their styles, colors, layers etc.). Finally, after specifying precision (number of decimal places), you are
asked to pick elements of a vertical alignment (grades and vertical curves). The program checks whether stations
listed in the “*.sta” file lay within the stationing boundaries of a selected entity (grade or curve) and calculates
corresponding elevations.

PROFILE3 03:41, 04:12

ADDSEC
In some countries, cross sections’ numbers should be placed at the bottom of the longitudinal profile. The
command ADDSEC asks you to select a drawn longitudinal profile and one “*.sec” file. This type of file is created
with the FINDSEC command from the XSEC group (FINDSEC labels cross sections in horizontal plan). ADDSEC
reads the cross sections’ stations/numbers from the selected “*.sec” file and labels them along the bottom line of
the profile (you are asked to specify text height for the labels).

XSECTION4 01:33

VEGZAG
With this command you can set vertical exaggeration for subsequently drawn profiles, templates and cross
sections.

GRAD2 02:29
PROFILE2 01:49 PROFILE4 02:07
XROAD2 07:19

17
GRADELST
GRADELST checks the grade of a selected LINE entity. By using this command, you can check grades of LINEs
belonging to longitudinal profiles, templates, cross sections etc. While reporting the grade, the current vertical
exaggeration is taken into account.
TEMPLATE2 07:40, 09:07 TEMPLATE5 22:29

VCL2STR
When manipulating 3D models of linear facilities, the commands VCL2STR and STR2TCL are used in conjunction.
By using these commands, you can vertically reposition drain trenches, retaining walls, pavement edges etc.

The commands 3DMODEL and 3DDYN (group TMPL) generate triangulated models of linear facilities. Along
certain edges (bottom of the drain trench, top of the retaining wall) strings of POINTs are automatically generated
(and stored into “*.str” files – string files). Each of these POINTs inherits station and elevation. The command
STR2TCL takes these POINTs and stores their stations and elevations in the terrain profile’s file (“*.tcl” file). For
example, you can import a thus created profile of a drain trench into an existing profile by using DRAWSRF. Based
on this profile, you can design new vertical alignment for a drain trench and define it with DEFVCL. A new vertical
alignment is applied to the POINTs from a string (POINTs on the model) by using the VCL2STR command.

VCL2STR asks for the name of a vertical alignment (“*.vcl” file) and for a string file (“*.str” file). Then, the command
vertically repositions POINTs from the string to comply with the new vertical alignment. Consequently all triangles
attached to these POINTs are vertically repositioned as well.
TEMPLATE3 12:16, 13:03, 13:13 TEMPLATE6 02:06

STR2TCL
STR2TCL asks for a string name (“*.str” file) and for a profile’s name (“*.tcl” file). Then it takes POINTs from a string
and stores their stations/elevations into the terrain profile’s file (*.tcl” file).
TEMPLATE3 09:51, 11:14 TEMPLATE6 00:52

PAVE2PAV
Command PAVE2PAV asks for a centerline (“*.hcl” file) and takes all the pavement blocks attached to that
centerline. The command creates “*.pav” file (pavement configuration file) that is defined only at stations to which
pavement blocks are attached (unlike “*.pav” file created with CALCPAVE command from CSC1 group which
calculates pavement configuration at all the stations taken from a selected “*.sec” file).

Pavement configuration defined at the key stations (to which pavement blocks are attached) enables quick drafting
of superelevation diagrams (see command PAV2SUPER).
3-PROF / PROF-2009 03:32, 09:34

TMC2PAV
Starting from GCM2004 on, it is suggested that when a road template is created, LINE No.1 should act as the left,
and LINE No.2 as the right side of the pavement. Thus, by analyzing the selected “*.tmc” file (the file defining
template changes along the centerline) and the “*.tmp” files listed in the “*.tmc” file, TMC2PAV command resolves
pavement configuration and stores it in “*.pav” file. Pavement configuration produced this way defines pavement
lines only at the stations where the template changes take place and is very handy for quick drafting of
superelevation diagrams (see command PAV2SUPER).
3-PROF / PROF-2009 06:32, 06:49

18
PAV2SUPER
PAV2SUPER takes “*.pav” file and draws a superelevation diagram. The superelevation diagram is added to the
bottom of an existing longitudinal profile. Usually, two separate diagrams are drawn for the left and right side of the
pavement. If drawn from a “*.pav” file created by CALCPAVE command, the superelevation diagram is
overpopulated with labels, because pavement width, elevation of the outer pavement edge and pavement cross
grade are marked at each cross section’s station. Thus, it is more appropriate to generate superelevation diagrams
from “*.pav” files created with PAVE2PAV and TMC2PAV commands.

In more complex cases, where motorway pavements are staggered vertically, even the inner edges of the
pavement (not only the outer pavement edges) depart from the relative zero in relation to the general vertical
alignment. In cases like these, both inner and outer pavement edges must be labeled with lateral and vertical offset
in relation to the general vertical alignment. So thick labeling does not leave room for the pavement cross grade
labels. When both pavement edges depart from zero, it is often hard to know which one is the outer edge.
Therefore, in cases like these, small circular marks are placed along the outer edge.

3-PROF / PROF-2009 04:00, 08:24, 10:56, 12:00

SUPERELEV
By using SUPERELEV command, superelevation diagrams are added to the bottom of the profile. Each
superelevating edge has its own diagram and you can add as many superelevation diagrams as you need. The
command asks you for two string names (“*.str” files). The first string is the string to label (string generated along
the pavement edge) and the second string is the central string (usually string generated along the centerline). The
program measures cross grades, horizontal widths and elevational differences between matching POINTs from the
two strings (matching POINTs are the POINTs at the same station). Thus, besides cross grades and elevational
differences, the program labels the width of the pavement as well.

TEMPLATE3 15:29, 16:07, 17:45, 18:47

2.4 Group TMPL

The template is the inner part of a cross section, excluding cut or fill slopes. Commands from this group are used to
create templates and define template changes along the centerline. Finally, based on horizontal and vertical
alignment and template changes, the 3D model of a linear facility (highway, railway, tunnel etc.) is generated.

DRAWTMP
Templates are defined by using LINE entities and blocks consisting of LINE entities only. Though these LINEs
could be drawn manually, there is the DRAWTMP command that draws LINEs of specified width/grade or
width/slope combinations.

TEMPLATE2 04:15, 05:12

LINTMP
Before finally defining a template (with DEFTMP command), all LINEs, blocks and strings within the template must
be properly coded. LINEs within the template are coded with LINTMP. The command attaches coding blocks
(blocks with numbers) to the selected LINE entities. First enter the starting number and the insertion scale for
coding blocks. LINEs are picked one by one and, as you pick the LINEs, the coding number is incremented
automatically.

TEMPLATE2 05:26

19
BLKTMP
Blocks within the template are coded with the BLKTMP command. Specify starting number and insertion scale for
coding blocks. As you pick blocks one by one, the coding number is incremented automatically.

In GCM2004 you can use rotated blocks, which might be suitable for railway and tunnel templates.

TEMPLATE4 00:45
TEMPLATE / 2-DEFTMP

STRTMP
String positions within the template are marked by using the STRTMP command. Strings from which cut or fill
slopes will be generated later, are positioned along the outer shoulder edges. Strings from which superelevation
diagrams will be retrieved are positioned along the centerline and along the pavement edges. And, if you want to
vertically control elements, such as the bottom of the drain trench or the top of the retaining wall, strings must be
positioned at these places too.

First, enter an insertion scale for coding blocks. Then, specify string positions and enter their coding numbers. You
are allowed to use up to 12 strings per template.

TEMPLATE2 05:50

CLTMP
There must be one (and only one) centerline position for each template. This position is marked with the CLTMP
command. You are prompted for the coding block’s insertion scale and asked to pick the centerline’s position.

TEMPLATE2 05:37

DEFTMP
The command DEFTMP is used to define a template. Actually, the command reads coded LINEs and blocks, reads
marked strings and a centerline position, recalculates template arrangement from these data and stores template
definition into “*.tmp” file. First, you are asked to specify the template’s name (name of the “*.tmp” file). As there
may be several completed (drawn) templates ready for final definition (with DEFTMP) and created by using
different vertical exaggeration, the vertical exaggeration for this template must be specified next. Then you are
expected to select coding blocks (inserted by LINTMP, BLKTMP, STRTMP and CLTMP). The program reads
coding blocks and template entities to which these blocks are attached, retrieves necessary numerical data and
stores these data into the selected “*.tmp” file.

In GCM2004 you can use rotated blocks, which might be suitable for railway and tunnel templates.

TEMPLATE2 06:24, 08:20, 08:48, 09:33 TEMPLATE4 02:19


TEMPLATE / 2-DEFTMP

INSTMP
With the INSTMP command you can import template into the drawing. The template is retrieved from the selected
“*.tmp” file. You are asked for vertical exaggeration, scale of coding blocks and for the template’s insertion point.
LINEs and blocks are imported into the drawing and automatically coded with LINTMP and BLKTMP blocks. String
positions and centerline position are coded as well.

When creating a new template that is similar to an existing one, it is a good practice to import the existing template
with INSTMP and edit it. A template could be edited either manually or by using the EXTTMP and GRADETMP
commands.

TEMPLATE2 07:22, 10:00, 10:14


TEMPLATE4 00:27, 02:10 TEMPLATE5 01:08, 22:49

20
XROAD3 03:34

EXTTMP
By using the EXTTMP command, you can widen the template or make it narrower. For example, pick the LINE
representing pavement surface near the shoulder and specify extension. If extension is negative, pavement edge
will be moved to the left, keeping its cross grade constant. Positive extension moves the edge to the right. And all
elements adjoining pavement edge (shoulder, retaining wall, sidewalk etc.) are displaced automatically, following
modified edge.

TEMPLATE2 08:30, 08:59, 10:14, 22:49


TEMPLATE6 04:30

GRADETMP
GRADETMP changes the cross grade of a selected LINE within the template. Just select the LINE and specify a
new cross grade. The endpoint of the LINE that is closer to the selection point is moved vertically to comply with
the specified grade.

TEMPLATE2 07:53, 08:30, 10:14


TEMPLATE5 22:49

SETTMP
After the templates have been defined, they should be assigned to the key stations along the centerline. The link
between the templates and the key stations is established by “*.tmc” files. The entire centerline is divided into
sections, each section having a starting station and a starting and ending template. These stations and templates
are stored in “*.tmc” files. Command SETTMP starts an editor. By using this editor, you can create new “*.tmc” files
and edit existing ones. SETTMP serves as a template viewer as well.
TEMPLATE5 02:28, 02:47, 03:02, 04:40, 07:08, 08:20, 09:08, 10:30, 14:10, 14:32, 15:12
TEMPLATE6 11:11
XROAD 09:31

3DMODEL
The command 3DMODEL generates a static model of a linear facility. Unlike the dynamic model created with the
3DDYN command, the static model could be changed only vertically (by applying new vertical alignment with
3DVER command).

Triangulated 3D model of a road (tunnel or railway) is interpolated between the templates assigned to successive
key stations and listed in “*.tmc” file.

3D model is generated along the specified centerline (“*.hcl” file) and by using the specified vertical alignment
(“*.vcl” file). Template changes are taken from the specified “*.tmc” file. The model is generated between specified
starting and ending station and the triangles’ vertices are calculated at constant stationing intervals. In order to
improve the model’s accuracy, vertices could be calculated at random stations too (these stations are supplied by
specifying “*.sta” file – file created with STASEC command, XSEC group).

Besides the triangulated model, strings of POINTs are generated as well. These are the strings coinciding with
string positions marked within the templates. Names of the strings (“*.str” files) are composed by adding string
numbers to the prefix specified by the user.

From the strings generated along the outer shoulder edges, cut/fill slopes will be generated with the SLOPE
command (group GRAD). Other strings are used to vertically manipulate drain trenches, retaining walls etc. (see
STR2TCL and VCL2STR commands – group PROF).

If you do not supply template changes and answer with “Esc” or “Cancel” to the file dialog asking for “*.tmc” file,
only the POINTs will be generated along the specified centerline (by using supplied vertical alignment).

The model is created as a kind of 3D interpolation along the centerline. In GCM2004, at the places where both
21
widening and superelevation take place, it is not the same if you are using simple 3D interpolation between the
successive templates, or widening/superelevation refinement. The first method might be more suitable for tunnels,
while the second one should be (or must be) used on typical road projects.

PLAN5 03:21
TEMPLATE3 09:35 TEMPLATE4 04:08 TEMPLATE5 15:22, 16:31
XROAD1 12:31 XROAD4 03:11
TEMPLATE / 3-3DMODEL

3DVER
Command 3DVER vertically manipulates both the static and the dynamic model (the static model is generated with
3DMODEL, while the dynamic model is generated with the 3DDYN command). 3DVER command applies new
vertical alignment to the model. Select centerline (“*.hcl” file) and vertical alignment (“*.vcl” file). The program
vertically repositions the model generated along the selected centerline, following the new vertical alignment.

TEMPLATE3 13:39, 14:40 XROAD7 06:08, 06:25, 07:18

ADDTMP
A dynamic 3D model is generated with the 3DDYN command. The 3DDYN command does not ask for file
containing template changes (“*.tmc” file), like the 3DMODEL command does. 3DDYN reads dynamic template
blocks attached to the key points along the centerline. While changing the centerline, template blocks automatically
travel along the centerline, keeping the superelevation concept unchanged.

First select the template name (“*.tmp” file) and the centerline name (“*.hcl” file). Then select the centerline’s entity
to which the template will be attached. The template block is attached at a specified distance either from the
entity’s starting or ending station. Regardless of what happens to the entity, the template block moves
automatically along the centerline, keeping this distance constant.

TEMPLATE3 00:24, 02:07 TEMPLATE4 03:02, 06:21, 08:40 TEMPLATE6 10:02


XROAD7 03:49

MAKETMC
While the dynamic model is more appropriate for preliminary and conceptual designs, the static (but highly
detailed) model is more appropriate for final designs. The static model is generated by using the 3DMODEL
command that asks for “*.tmc” file, containing template changes. Therefore, while moving from the dynamic to the
static model, you have to create “*.tmc” file, by using SETTMP command.

Instead of creating “*.tmc” file with the SETTMP command, MAKETMC can do it for you automatically. The
command reads template blocks attached to the selected centerline and stores stations and template names into
specified “*.tmc” file. Later, you can substitute the names of these templates with the names of more detailed ones.

TEMPLATE6 09:45, 10:52

3DDYN
3DDYN generates the dynamic model of a linear facility (highway, railway, tunnel etc.). The command asks for
centerline’s name (“*.hcl” file), vertical alignment (“*.vcl” file), starting and ending station of the model, stationing
step (intervals) etc. The command does not ask for template changes (“*.tmc” file), but automatically reads
templates attached to the selected centerline.

The model is created as a kind of 3D interpolation along the centerline. In GCM2004, at the places where both
widening and superelevation take place, it is not the same if you are using simple 3D interpolation between the
successive templates, or widening/superelevation refinement. The first method might be more suitable for tunnels,
while the second one should be (or must be) used on typical road projects.

TEMPLATE3 04:14, 04:34, 09:35, 14:24, 03:22 TEMPLATE4 04:19, 06:44, 09:02

22
XROAD7 00:21, 01:16, 04:11
TEMPLATE / 3-3DMODEL

LOCKTMPL
LOCKTMPL temporary disables (locks) all aspects of template/3Dmodel dynamics. By entering 1, the dynamics is
locked. By entering 0, template/3Dmodel dynamics is active again.

TEMPLATE / 4-LOCKTMPL

2.5 Group GRAD

Commands from group GRAD are used for the linear and conical slope design, modeling of curbs and sidewalks at
crossroads, modeling of ditches etc. Geometry of cut/fill slope is based on these data:
- the cross section of the slope
- the string of POINTs through which the slope is constructed (to the left or to the right)
- the triangulated terrain surface in relation to which the slope is calculated
This is why GRAD commands start with three editors.

SLOEDIT
Cross sections of fill slopes are stored in “*.fil” files, while cross sections of cut slopes are stored in “*.cut” files.
Slopes are defined segment by segment, each segment being defined by its width and slope in “1:n” form. Positive
slope stands for upgrade, while negative slope stands for downgrade.

SLOEDIT is the slope’s editor. By using this editor you can create new “*.cut” and “*.fil” files or edit existing ones.
GRAD3 00:00, 01:50 GRAD8 10:09
TEMPLATE3 07:07

STRING
Cut/fill slopes (and some other triangulated forms modelled with GRAD commands) are generated through the
strings of POINT entities. Strings are sequences of POINTs stored in “*.str” files.

Strings could be generated automatically, with 3DMODEL and 3DDYN commands, as parts of highway or railway
models. Some of these strings are used to manipulate the model vertically (STR2TCL and VCL2STR commands,
group PROF). From strings generated along the outer edges of the shoulders, cut/fill slopes are constructed.

The STRING command opens the string editor. By using the string editor’s options, you can manually create new
strings (open or closed), break strings in two, join strings etc. When creating a new string, you have to pick a
starting POINT first. Then you have to select a group of POINTs. By using proximity criterion, selected POINTs are
consecutively connected to the first one and stored into “*.str” file.

Some of the strings of POINTs are automatically generated along the outer edges of cut/fill slopes. After including
these POINTs into the terrain model (NEWPTS command, group DTM), POLYLINEs generated through these
strings are fitted as break lines into the TIN terrain model (FITBRK command, group DTM). Therefore, by using
STRING options, even POLYLINEs could be generated through the selected strings of POINTs.

GRAD3 00:00, 00:21, 04:45 GRAD4 00:27, 05:31 GRAD5 01:29


GRAD7 02:48, 05:40, 06:31, 15:44, 17:11, 19:30, 20:16, 21:17 GRAD8 03:57, 09:15, 13:24
PLAN5 06:32, 07:01, 08:02, 09:27, 09:57
TEMPLATE3 06:46, 10:00, 10:53 TEMPLATE5 18:09 TEMPLATE6 00:18
XROAD1 05:00, 07:43, 09:11, 15:43, 18:04, 18:44, 20:23
XROAD3 04:12, 09:50 XROAD4 03:58, 10:46

23
XROAD5 00:37, 06:46 XROAD6 00:25, 05:52

SURFACE
The command starts the editor for triangulated surfaces. The outer edges of cut/fill slopes are calculated in relation
to the TIN terrain model. This is why triangles forming the terrain surface must be grouped into triangulated
surfaces and passed over to the program that calculates cut/fill slopes. By using the SURFACE command, triangles
are grouped and stored into surface files (“*.srf” files). When creating a new triangulated surface, you are asked to
pick a triangle pattern first. The selection of triangles to be stored into the surface is layer/color based. You can
take all the triangles having the same color or belonging to the same layer as a triangle pattern etc.

When calculating volumes between two triangulated surfaces (group VOL), these grouping techniques become
more complex. For example, triangles forming cut/fill slopes and subgrade must be grouped (joined) into the top
surface and compared to the terrain surface consisting of terrain triangles. Therefore, besides the option for
creating new triangulated surfaces, there is an option for joining surfaces.

And, there is option that calculates horizontal or slanted (real) area of a selected surface, option that lists the
content of the surface etc.

DTM7 00:10
GRAD3 00:00, 03:08 GRAD6 00:34, 05:45
PROFILE2 00:38, 05:10
TEMPLATE3 07:27, 15:37 TEMPLATE4 07:06
TEMPLATE5 19:02, 19:56
XSECTION2 12:16 XSECTION3 09:02
XROAD 15:13

SLOPE
The command SLOPE generates a linear slope. The slope is generated through the selected string of POINTs
(“*.str” file), with a specific cut and fill cross section (“*.cut” and “*.fil” files), and its outer edge is calculated in
relation to the selected terrain surface (“*.srf” file).

Slopes could be generated to the left or to the right (in relation to the string), cut/fill labels could be applied etc.

Optionally, the command automatically generates a string of POINTs along the outer edge of the slope. These
POINTs could be spliced into the TIN terrain model, by using commands NEWPTS (group DTM), STRING (option
2DPOLY or 3DPOLY) and FITBRK (group DTM).

GRAD3 04:10 GRAD4 00:00, 01:15, 04:12, 05:52


GRAD7 03:18, 07:33, 10:11, 15:44, 17:27
GRAD8 04:38, 10:09, 10:28, 13:56
TEMPLATE3 07:07, 07:39 TEMPLATE4 07:16
TEMPLATE5 19:13, 20:53
XROAD1 09:56, 17:08, 18:21, 19:15, 20:56
XROAD3 13:25 XROAD6 01:18
XROAD7 05:28, 05:50, 06:43

CONESLOPE
The command CONESLOPE generates a conical slope. Conical slopes are generated at the sharp corners of
parking lots, building pads etc. The CONESLOPE command asks for “*.fil” and “*.cut” files and for a “*.srf” file.
While a linear slope is generated through a string of POINTs, a conical slope is generated from its apex point.
Therefore, you are asked to pick an apex point and a starting and ending azimuth (in counter-clockwise direction).
A conical slope consists of radial segments and you are expected to enter the number of these segments.
Optionally, CONESLOPE generates a string of POINTs along the outer edge of the conical slope.

GRAD7 08:13 GRAD8 05:17

24
FILLSLOPE
The FILLSLOPE command “fillets” the outer portion of a linear slope. The command asks for string name (“*.str”
file), surface name (“*.srf” file) and for a tangent width. The command takes the cut/fill slope generated through the
selected string and fillets its outer portion, making a smooth transition from the slope to the terrain surface. The
width of the fillet is twice the width of the tangent.

GRAD7 10:49, 12:42


XSECTION 01:03

FILLCONE
The command FILLCONE fillets a conical slope. The conical slope is selected by picking its first or last segment
(for each conical slope, the first and the last segments are reactive segments – each change of these segments
causes dynamic modification of an entire conical slope). After selecting the conical slope to be filleted, you are
asked to select the surface (“*.srf” file) in relation to which the fillet will be calculated and prompted for a tangent
width.

GRAD7 12:02, 12:42

CONST
The command CONST generates a surface at constant cross grade and having constant width, through the
selected string. After selecting basic options (whether to generate surface to the left or to the right from the string
etc.), a new dialog is opened, asking you for general geometrical parameters. You are expected to specify the
width of the surface and its cross grade. Cross grade could be entered in “%” or in “1:n” form. By using CONST
command, you can generate horizontal and vertical surfaces as well.

Optionally, a string of POINTs is generated along the outer edge of the generated surface.

Command CONST is used to generate shoulders along pavement edges at crossroads. Through the POINTs
attached to a pavement edge, a constant slope (for example, 1.5m wide and having a cross grade of –8%) is
generated. Finally, from the outer string of the thus created shoulder, a cut/fill slope will be generated later, by
using the SLOPE command.

GRAD7 14:40, 15:03, 19:17, 19:46, 20:43 GRAD8 15:52


XROAD1 01:08 XROAD7 05:28

MULTI
The command MULTI creates a “multiple sloped surface”. It means that, you can take any “*.fil” or “*.cut” file and,
the triangulated model having the cross section retrieved from the file, will be generated through the specified string
of POINTs. The “multiple sloped surface” is generated in fixed width. On the other hand, slopes generated with the
SLOPE command and based on the same “*.cut” or “*.fil” files are of variable width (the slopes’ ends are calculated
in relation to the terrain surface).

“Multiple sloped surfaces” are used while modeling ditches along the outer edges of cut/fill slopes. A “*cut” or “*.fil”
file containing two segments, inner face of the ditch and its horizontal bottom, is created first. “Multiple sloped
surface”, based on this file, is generated through the string of POINTs following the outer edge of a cut/fill slope. An
outer string, following the outer edge of the bottom, is generated too. Finally, the outer face of the ditch is
generated as a standard cut/fill slope, running along this string (along the bottom’s outer edge).
GRAD7 16:25 GRAD8 13:36

TWIST
The command TWIST generates a twisted (superelevated) surface. The twisted surface is generated along the
string of POINTs in constant width and with a specified starting and ending cross grade. Cross grades in between

25
are calculated as linear interpolation.

The command could be used when modeling superelevated pavements passing behind triangular isles at
crossroads, when modeling very short access roads with superelevated pavements etc …

XROAD1 00:00, 06:10 XROAD4 04:24, 04:48, 05:24

INTSLOPE
Intersecting slopes running through two opposite strings of POINTs can be generated with the INTSLOPE
command. The command asks for two string names and for cross grades of intersecting surfaces. INTSLOPE is
rarely used. If you have an idea of modeling intersecting cut/fill slopes with the INSTLOPE command, apply to the
TRINT command (EDIT group) for a right answer.

XROAD1 00:00, 15:32, 16:07

TEMPLATE
The TEMPLATE command asks for a string name and for a template name (“*.tmp” file). The command generates
a complex triangulated model based on the template (cross section) stored in selected “*.tmp” file. By using the
TEMPLATE command, you can generate highly detailed models of sidewalks along the edges of crossroads, curbs
surrounding traffic isles etc.

Strings defined within the template are generated automatically. Thus, after modeling the sidewalk along the
crossroad’s edge, you can generate a cut/fill slope through the string generated along the sidewalk’s outer edge.

Names of the strings (“*.str” files) are composed by adding string numbers to the prefix specified by the user.

GRAD7 15:26
XROAD1 00:00, 08:26, 10:12
XROAD3 04:36, 09:20, 11:05, 14:09
XROAD5 00:07, 01:07, 07:04, 05:50, 06:43

STRSPLINE
The command STRSPLINE takes POINTs from a selected string and places these POINTs along the automatically
calculated splined longitudinal profile. The splined profile is based on starting and ending grades - grades
determined by the first two and the last two POINTs from the string.

STRSPLINE is used for vertical positioning of POINTs along the edges of crossroads. Usually, the first two
POINTS from a string are attached to the edge of a main street, while the last two POINTs are attached to the edge
of a secondary street. POINTs in between are placed along the plan projection of a crossroad’s edge (3R or ARA
curve). STRSPLINE moves POINTs vertically, leaving the first and last POINTs unchanged.

When brought to appropriate elevations, these POINTs are connected with the TIN model, representing the
pavement surface. Finally, along these POINTs, models of sidewalks (TEMPLATE command) or shoulders
(CONST command) are constructed.

The command asks for string name and for some simple calculation parameters. Besides vertical repositioning of
the string’s POINTs, the command draws a simplified splined profile and you will be asked for the profile’s graphical
parameters as well.

XROAD1 00:00, 03:01, 04:58, 10:35 XROAD4 11:20

LBLSLOPE
LBLSLOPE labels slopes (or grades) between the pairs of interactively selected positions. First, you are asked for
a text height. You can label both grades (%) and slopes (1:n). While labeling grades (%), current vertical
exaggeration (VEGZAG command) is used for labels.

DTM8 01:22

26
GRAD2 01:45, 02:02, 02:23 GRAD5 00:00
GRAD8 08:23, 09:00
XROAD3 03:16

LOCKGRAD
LOCKGRAD temporary disables (locks) all aspects of grading dynamics. By entering 1, the dynamics is locked. By
entering 0, grading dynamics is active again.

GRADING / 1-LOCKGRAD

2.6 Group PTS

Commands from this group could be used to import surveyed data, to create and manipulate break lines, to place
POINTs in relation to each other or in relation to positions identified on the model etc.

PTSIN
Surveyed data are imported into the drawing with the PTSIN command. After invoking PTSIN, a dialog with
available file formats appears. Surveyed data must be stored in the ASCII files with a “*.dat” extension. Coordinates
of surveyed points could be preceded by point numbers and followed with point descriptions. Surveyed points are
represented with blocks named POINT, each block having three attributes: number, elevation, description.

After specifying a file format, you are asked to select one of “*.dat” files and to enter the scale of POINT blocks.

Then, you can generate POINT entities from inserted POINT blocks (GENPTS command from group DTM) and
calculate the TIN model from these POINTs.

DTM06 00:00

PTSSET
POINT blocks (used by PTSIN) can be inserted manually with the PTSSET command. While inserting blocks, you
are asked for the insertion scale, point number, elevation and description. To speed up the process, you can fix
some of these attributes, by checking appropriate boxes in the dialog. The command is used to manually digitise
isolated picks, depressions and other points of interest from the maps.

While arranging grading plans, there is always a need for labeling elevations of some important points (usually
proposed surfaces points). In this case, enter dot (“.”) in “Elevation” edit box of a PTSSET dialog. From then on,
POINT blocks will be attached to the positions picked on the model. Elevations of picked positions will be taken as
elevation attributes for the inserted POINT blocks.

DTM2 01:06 DTM9 00:00, 00:44


GRAD6 12:45

PTSLAYER
While working with POINT blocks representing surveyed or digitised points, there is always a need for placing
some of these blocks into separate layers, by using point description or point number criteria. This can be
accomplished with the PTSLAYER command.

27
DTM2 01:50

DIFFELEV
By using the PTSSET command, POINT blocks can be attached to the positions picked out from the proposed
surface (“.” Elevation). But, in some countries, terrain elevations coinciding with these positions (and elevational
differences) are required as well. The command DIFFELEV asks you to the select a group of POINT blocks
attached to the proposed surface and for a set of triangles (terrain triangles). The program calculates
corresponding terrain elevations and elevational differences and labels them with POINTVOL blocks (blocks used
also by CALCVOL command, group VOL).

GRAD6 12:28

MAKEBRK
While calculating the TIN model, the CALCTIN command (group DTM) asks for “*.pts” (points file) file and for “*.brk”
file (break line file). Break line files are generated from surveyed data files (“*.dat” files) and point connection files
(“*.bk0” files). If “*.dat” file is created by using one of the formats containing point number, then sequences of point
numbers stored in “*.bk0” file determine break lines. Based on point numbers stored in “*.bk0” file, the coordinates
of break line points are retrieved from “*.dat” file and stored in “*.brk” file.

The command expects you to select an appropriate “*.dat” file format from the main dialog and then asks you for
“*.dat” file and for “*.bk0” file. Besides creating “*.brk” file (with the same name as selected “*.bk0” file), the
command draws POLYLINEs following the retrieved break lines.

Thus, you can calculate the TIN model with no break lines (call the CALCTIN command and answer with “Cancel”
to the dialog asking for “*.brk” file) and fit POLYLINEs generated with MAKEBRK into the TIN model later (with
FITBRK command from DTM group).

And, of course, you can calculate the TIN model by specifying both “*.pts” and “*.brk” file, which could be a rather
slow process. On the other hand, in GCM2006, TIN calculation with *.brk file specified runs 20 to 100 times faster.

DTM6 03:48

POLY2BRK
Break line files can be generated from manually drawn POLYLINEs and 3DPOLY entities. These entities must be
drawn with vertices accurately attached to the POINTs from which the TIN model is generated (by using OSNAP
NODE). Call the POLY2BRK command, select a set of POLYLINEs and enter the name of a “*.brk” file.

DTM5 03:31

ADDBRK
The command ADDBRK is rarely used. With the ADDBRK command you can merge two *.brk” files into a new one.

NO MOVIE FOR THIS COMMAND

PTSLINE
With the PTSLINE command, you can insert a chain of POINTs between two interactively picked positions. The
POINTs can be inserted at constant intervals, measured from the first selected position (“Measure” option), or
dividing the length between the two selected positions in equal parts (“Divide” option).

Select two positions and specify option (“Measure” or “Divide”). If “Measure” option is selected, you will be asked
for the interval length.

GRAD2 01:17 GRAD7 05:50 GRAD8 00:16


XROAD3 00:50 XROAD4 13:45

28
PTSDIR
With the PTSDIR command, new POINT is placed on the 3D line passing through two selected positions. POINT
will be placed either at the specified horizontal or vertical distance (offset), measured from the first selected
position.

GRAD4 03:14

PTSMOVE
In many cases, the ditch running along the outer edge of a cut/fill slope should be displaced from this edge. The
model of the ditch is generated through the POINTs displaced from the slope’s outer ends (the model is created
with MULTI and SLOPE command, group GRAD). These displaced POINTs are set by using PTSMOVE command.
First specify displacement and then pick sequences of the slope’s ends (“Point to move”) and the slope’s lateral
edges (“Back point”). New POINTs will be displaced from the selected slope’s ends in the directions of the selected
slope’s edges.
GRAD8 12:40

PTSLOPE
With this command you can either place a new POINT in relation to the selected position (reference point) or move
an existing POINT vertically to conform to the specified grade (%) or slope (1:n). Thus, you can specify grade in
both (%) and (1:n) form. Positive value stands for upgrade and negative value stands for downgrade, in relation to
the reference point.
GRAD2 00:00
XROAD3 01:55, 13:13 XROAD5 03:12, 08:16

PTSPERP
With the PTSPERP command, a set of POINTs can be positioned at a specified cross grade in relation to the line
defined in 3D. First select two positions determining the line in 3D and specify a cross grade. Selected POINTs will
be raised (or lowered) to the elevations determined by the specified cross grade, measured perpendicular to the
line in 3D.

The command is frequently used while modeling building pads and parking lots.

DTM8 00:49
GRAD2 00:58
XROAD3 02:28, 05:42, 06:56, 13:13, 13:44

PTSPEN
The PTSPEN command places a POINT entity at the position where the 3D line penetrates the triangle. By using
the “Edge” option, you are expected to pick a triangle’s edge and a group of triangles. Usually, the selected edge is
the common edge of two neighbouring triangles. The program treats this edge as infinite in length, calculates
penetration through the selected group of triangles and marks this penetration with a POINT entity. By using the
“Edge” option, you can accurately locate points where the edge of the ditch bottom penetrates terrain surface
(where the water is disposed of).

The “Grade” option marks the penetration of the line, starting from a specified base point and having specified
grade, through the selected set of triangles.

GRAD8 10:59, 14:10, 15:03

29
PTSIDE
Select two triangles’ edges passing over each other. PTSIDE places POINT entities on both edges, marking the
intersection of the selected edges in plan projection. Thus, POINTs placed by PTSIDE have the same X,Y
coordinates.

XROAD1 00:00, 13:25

PTS2TRI
You are expected to select a set of entities and to pick a pattern for triangles and a pattern for POINTs. PTS2TRI
filters the set and takes all POINTs belonging to the same layer as the POINTs’ pattern and all triangles belonging
to the same layer as the triangles’ pattern. Finally, selected POINTs are raised (or lowered) to selected triangles.

DTM9 00:00, 00:35


GRAD4 03:41 GRAD8 00:45, 02:21, 13:03
XROAD1 02:31 XROAD4 07:40, 08:36
XROAD7 02:07, 02:18

TRIPLANE
TRIPLANE command brings selected POINTs to the plane defined by the selected triangle. The command is handy
when creating a TIN model of a crossroad, bringing POINTs along the curb to the plane of the specific pavement
triangle, chosen either from the primary road model or from the secondary road model. In many cases TRIPLANE
could successively substitute EXTSLOPE / PTS2TRI procedure. TRIPLANE is more appropriate when the
pavement surface in relation to which POINTs are modified is relatively uniform, both longitudinally and laterally.

4-PTS / PTS-2009 00:00

SRF2SRF
The command asks for two surfaces (“*.srf” files), proposed (remodelled surface) and terrain surface. SRF2SRF
takes each vertex from the first triangulated surface, calculates elevational difference in relation to the second
surface and places the POINT entity coinciding with that vertex, but having Z coordinate equal to the calculated
difference. And vice versa, the program takes each vertex from the second surface, calculates elevational
difference in relation to the first surface and places POINT coinciding with that vertex, but having Z coordinate
equal to the calculated difference.

From these POINTs, you can calculate an accurate TIN model representing cut depth and fill height. And, contours
generated from the thus created TIN model depict lines of equal cut depth or equal fill height.

GRAD6 07:56

GRADE2LIN
GRADE2LIN places a chain of POINTs over the lateral edges of cut/fill slopes, keeping the grade (or slope)
between the successive POINTs constant.

GRADE2LIN is used when working on ditches following the outer edges of fill slopes. In many cases, longitudinal
grades following the outer slope’s edge are too small. The ditch following the slope like that one would not convey
the water efficiently. Therefore, from the selected point on, the slope’s lateral edges should be gradually extended
into the ground, increasing longitudinal grade of the outer edge of the slope (and gradually lowering the bottom of
the ditch that will be generated later).

GRAD8 07:58, 08:08, 08:39

30
LOCKPTS
LOCKPTS temporary disables (locks) all aspects of points dynamics. By entering 1, the dynamics is locked. By
entering 0, points dynamics is active again.

PTS / 1-LOCKPTS

2.7 Group EDIT

These commands support the editing of triangulated surfaces (especially regular triangulated surfaces used to
model paved areas).

EXTSLOPE
The command EXTSLOPE is used to extend a triangulated paved surface laterally, usually up to the widened
pavement edge. Lateral edges are selected one by one and extended, keeping their grades constant.

First select one of the entities representing the widened pavement edge in plan projection. This entity serves as an
elevation pattern. When you select a lateral edge to be extended, an auxiliary LINE following the selected lateral
edge is automatically drawn at the elevation equal to the pattern’s elevation. The vertex of a selected lateral edge
will be moved to the point where the auxiliary LINE intersects the widened pavement edge, keeping the grade of
the edge unchanged. And all the elements of the model, gutters, sidewalks, retaining walls etc, next to the
extended edge are displaced automatically.

GRAD7 18:15 GRAD8 00:43, 01:50, 09:56


TEMPLATE3 18:16
TEMPLATE6 02:44, 04:50, 05:22, 05:46, 07:11, 07:39
XROAD1 00:47, 02:31 XROAD4 08:21
XROAD5 02:58, 08:24 XROAD7 02:07

FIXELEV
While extending the pavement up to the edge of a left turn lane at the crossroad (edge of a median), not only the
grade, but the elevation of the displaced vertex must remain unchanged as well. Only then, the twisting
(superelevating) of the narrowed median, accommodating for a left turn lane, would be prevented.

Therefore, the command FIXELEV is used to extend lateral pavement edges, keeping both the grade and elevation
of the extended edge constant. The command’s dialog is absolutely the same as for the EXTSLOPE command.

TEMPLATE6 06:21, 08:31

DIRSLOPE
In some cases, after the widening of pavement edges, a model of the shoulder is generated with the CONST
command (group GRAD). Lateral edges of the thus modelled shoulder will not be aligned with the corresponding
pavement edges. These shoulder edges could be aligned with the DIRSLOPE command. Just pick the pavement
edges and shoulder edges in succession. The shoulder edges will be realigned to follow the directions of the
selected pavement edges. The grades and lengths of realigned shoulder edges remain unchanged.

GRAD7 04:40
XROAD1 00:00, 00:57, 01:37 XROAD5 02:46, 07:56

31
CHGSLOPE
With CHGSLOPE you can change the grade of a selected triangle’s edge. Just pick an edge. The vertex closer to
the selection point will be moved vertically, to conform to the specified grade.

You will often use this command to check the existing grade of a selected edge only. Just press “Esc” after
reporting the existing grade of the selected edge.

DTM6 06:02
GRAD2 02:57 GRAD7 00:38, 01:30, 02:18, 04:25 GRAD8 02:00, 07:42
TEMPLATE3 05:26, 09:11, 17:13 TEMPLATE5 13:05, 13:35 TEMPLATE6 04:06, 05:54, 08:15
XROAD1 05:59, 06:43, 16:24, 21:40, 22:55
XROAD2 00:38 XROAD3 06:15, 06:43
XROAD4 04:24, 05:14, 16:32 XROAD5 02:20, 02:34, 07:46

MOVEVRT
With the MOVEVRT command, the vertex of the triangulated surface can be moved to a new position. Select one
of the edges meeting at the vertex to be moved and pick a new position for the vertex.

GRAD8 02:40
XROAD4 09:39

EXTTRI
Sometimes, you may wonder what the length of the cut/fill slopes lateral edges would be, after changing their
grades. Grade of a selected lateral edge is changed with the CHGSLOPE command. Then, by using the EXTTRI
command, the modified edge is extended (or shortened) up to the terrain surface (terrain triangles). The command
EXTTRI asks you to select the edge to be extended and asks for a group of triangles (terrain triangles) up to which
the selected edge is to be extended (or shortened).

GRAD7 01:51, 05:16

TRINT
The TRINT command is indispensable when modeling intersecting cut/fill slopes. By using the “Explode triangles”
option, intersecting triangles (slopes’ triangles) are exploded into subtriangles that do not intersect any more, but
touch each other along the intersection lines. By using the “Intersection lines” option, only intersection LINEs are
generated.

In GCM2009 new functionality is added to TRINT command. The command automatically hides the edges of the
exploded triangles. Edges that are visible at the end of the process are only those parent triangles’ edges that had
been visible before the explosion.

Moreover, subtriangles that are undoubtedly below the intersection line are automatically grouped in the selection
set “sstridown”, while those left above the intersection line are placed in group named “sstriup”. Subtriangles
originating from the triangles at the very end of the intersecting set of triangles might be left partially above and
partially below the intersecting line. These triangles are not part of any group. Anyway, after the explosion, you can
erase surplus triangles automatically.

If you are modeling intersecting fill slopes, you should erase triangles left below the intersection line, by calling
ERASE command and specifying the name of the adequate triangles’ set, preceded with the exclamation mark
(command:ERASE … Select objects: “!sstridown”).

If you are modeling intersecting cut slopes, you should erase triangles left above the intersection line, by calling
ERASE command and specifying the name of the adequate triangles’ set, preceded with the exclamation mark
(command:ERASE … Select objects: “!sstriup”).

GRAD4 04:31
GRAD8 06:29, 16:07

32
XROAD6 02:43, 03:58
5-EDITRI / TRINT-2009 00:00

RMAX
Some of the peripheral triangles calculated with CALCTIN (and drawn with DRAWTIN) are redundant. This comes
from the fact that each TIN algorithm tends to create a model that is more convex than needed. The circumscribed
radii of these peripheral triangles are larger than those of the inner triangles. The command RMAX removes
triangles with circumscribed radii greater than the specified one. Be careful not to specify to small radii – you can
unintentionally remove some of the inner triangles.

Select a triangle pattern first and then select a group of triangles. Only triangles belonging to the same layer as the
selected triangle’s pattern will be analysed. Then, you have to enter a radius. Before the final request, triangles to
be erased will be redrawn in red color. In areas where surveyed (or digitised) points are too scarce, triangles with
circumradii greater than those of the peripheral ones may be encountered. This is why triangles that are to be
deleted are redrawn (marked) first.

DTM4 03:14
XROAD4 14:55

SHOWTRI
By using the SHOWTRI command, you can make all edges of the selected triangles visible.

NO MOVIES FOR THIS COMMAND

HIDETRI
With HIDETRI command, you can make selected triangles (and other 3DFACE entities) completely invisible.

GRAD8 03:36
XSECTION2 05:51
XROAD6 07:39

HIDESIDE
HIDESIDE makes the edges of selected triangles invisible. After “exploding” triangles from intersecting cut/fill
slopes (the TRINT command), it is nice to hide some of the resulting triangles edges.

GRAD8 03:16, 07:02


XSECTION2 05:51
XROAD5 06:14, 09:40 XROAD6 03:25, 04:02, 07:28

2.8 Group UTIL (TUTIL)

With these commands you can create some specific triangulated surfaces and simple triangulated forms.

TRIPOLY
With TRIPOLY command, you can fill a selected POLYLINE (closed one) with triangles. This POLYLINE must be
closed and not splined or fitted. It must consist of straight segments only. If you select more than one POLYLINE,
then all subsequent POLYLINEs will be treated as islands. In other words, when triangulating a lake, the
POLYLINE selected first is a shoreline and all the others are islands.
33
DTM10 00:00 (entire movie is about TRIPOLY)

ROW
A row of paired triangles can be drawn with the ROW command. The mechanism is absolutely the same as for the
3DFACE command, except that pairs of triangles are drawn instead of 3DFACE entities. After picking the first four
points, the first pair of triangles is drawn and then you are asked for sequences of third and fourth points only.

GRAD2 02:33 GRAD6 11:12


GRAD8 11:17, 14:38

SWEEP
With the SWEEP command, you can draw a “fan” of triangles. First pick the centre of the fan and then pick points
to be connected with the centre, by using triangles.

XROAD1 00:00, 15:07, 16:43 XROAD4 05:46


XROAD5 03:49, 09:03

TRI2TRI
With the TRI2TRI command you can split a pair of triangles into two new pairs of triangles. Just select their
common edge. The triangles will be split along the line passing through the midpoints of their opposite edges.
There are two pairs of opposite edges and the program will redraw one of the lines. If you press ENTER, the
command will split the triangles along the redrawn line. If you press “Y”, an alternate splitting direction will be used.

Sharply twisted (superelevated) triangulated surfaces should be smoothed out with this command.

DTM6 06:43 GRAD2 02:57


XROAD1 14:19, 14:39 XROAD4 15:54 XROAD5 04:55

FACE2TRI
With the FACE2TRI command you can explode selected 3DFACE entities into triangles. For example, you can turn
buildings modelled with 3DFACEs into triangles and cut cross sections out of these buildings, just as you can do
with other triangulated facilities.

XROAD2 01:05, 01:44

SINGLE
Single triangles are drawn by using the SINGLE command. If you have unintentionally erased some of the triangles
from the model, you can replace them with manually drawn triangles.

GRAD8 11:17
XROAD1 00:00, 15:07

2.9 Group XSEC

Commands from this group are used to extract cross sections from the model, to draw extracted cross sections and
34
to label them.

STASEC
Cross sections are literally cut out from the triangulated model of a linear facility. The model is cut at constant
stationing intervals, but there is always a need for cutting the model at some specific stations. When asked to enter
the starting and ending station and the stationing interval with which the model will be cut, you will also pass the
name of the “*.sta” file containing these specific stations. This is why the station editor is added to the XSEC group
of commands.

The station editor is invoked with the STASEC command. By using the STASEC editor, you can add new stations
to the selected “*.sta” file, or remove some stations from the file.

PROFILE3 03:54 TEMPLATE5 16:40 XSECTION2 02:13, 02:32

FINDSEC
With the FINDSEC command you can define (mark) the places along the selected centerline, where cross sections
will be calculated (or cut out from the model). The command asks for a centerline name (“*.hcl” file), vertical
alignment (*.vcl” file) and “*.sta” file. Then the command asks for the text height of cross sections labels placed
along the centerline. After that, you are asked for starting and ending stations, a stationing interval and the left and
right swath width of the cross sections.

Cross section labels are placed along the centerline, each at the elevation calculated from the selected “*.vcl” file.
Finally, the command asks you to enter the name of a “*.sec” file. This is the file containing the cross sections’
locations.

XSECTION2 02:59 XSECTION3 05:55, 06:20 XSECTION4 01:20, 02:58

LINE2XSEC
The command takes any LINE entity reasonably positioned in relation to a certain centerline and turns it into a
cross section line, thus creating “*.sec” file. The file contains the single cross section’s location, derived from a
selected LINE. You are supposed to enter manually the labeling height, cross section’s number, left swath width,
station and elevation. It is best to measure left swath width from the left endpoint of the LINE in question to the
Apparent Intersection with the centerline.

If you plan to draw the cross section in concern with DRAWSEC command (after applying CALCSEC) you can
specify any elevation of the cross section (usually 0.0). But, if you are going to draw the cross section with
DRAWSEC0 command (and use the CSC concept for additional road details) you must be more precise.
DRAWSEC0 provides upper and lower vertical reserve above and below the centerline elevation in order to
accommodate road details which will be added later by CSC. If 0.0 is specified for elevation, you will end up with
the unnaturally high cross section, starting from 0.0 and reaching the realistic levels taken from the model.

6-XSEC / XSEC-2009 00:23

CALCSEC
The CALCSEC command takes “*.sec” file and cuts the model at the locations stored in the selected file. Extracted
cross sections will be stored in “*.sct” file.

XSECTION2 05:07 XSECTION3 05:25, 06:46 XSECTION4 03:26

DRAWSEC
The DRAWSEC command takes “*.sct” file and draws a series of extracted cross sections stored within the file.

Command DRAWSEC now allows you to use specific text height within the cross sections. This text height will be
used later, by LBLSEC command.
35
XSECTION2 07:19, 07:37 XSECTION3 06:46, 07:06 XSECTION4 03:37
XSEC / 2-DRAWSEC

LBLSEC
The DRAWSEC command draws cross sections with no numerical descriptions (labels). Cross sections are labeled
with the LBLSEC command.

The most powerful options are “autoLabel” and “Cut/fill Areas”. Both options ask for two surfaces (“*.srf” files), the
proposed surface and the existing surface (terrain). As cross sections are drawn by using LINEs, the program looks
for the LINEs belonging to the layers listed in the selected “*.srf” files and performs detailed labeling and calculation
of cut/fill areas. After selecting two “*.srf” files, you have to select a group of cross sections to be labeled.

You can perform multiple labeling or cut/fill area calculations. In other words, you can label various layers within the
pavement structure and extract their areas.

XSECTION2 09:16
Titles XSECTION2 09:32
Labeling cross sections numbers XSECTION2 10:07
Labeling existing levels XSECTION2 11:17
Labeling proposed levels XSECTION2 11:17
Labeling grades XSECTION2 10:29
Labeling slopes XSECTION2 10:29
Automatic labeling XSECTION2 13:46
Labeling cut/fill areas XSECTION3 08:32, 09:26, 12:16, 00:26 XSECTION4 00:39
Labeling right of way XSECTION3 00:00, 06:46, 07:56
Surface width XSEC / 3-LBLSEC
Add Units XSEC / 3-LBLSEC

In GCM2004 it is possible to label surface width, the width of the surface stored in selected “*.srf” file. Also, it is
possible to add units to calculated cut/fill areas and widths.

XLBLSEC
XLBLSEC command automates cross section labeling. The command applies the calculation scheme from a
selected “*.xlb” file on a selected set of cross sections. File “*.xlb” is ASCII file that tells what kind of calculations
and labeling should be performed. Three kinds of calculations are available: areas (such as cut/fill areas), surface
width (horizontal and slanted) and automatic labeling. The same procedures as known from old LBLSEC
command.

*.xlb” is divided in groups of lines. First comes the asterisk “*”. Then comes the keyword: VOLUME, SURFACE or
AUTOLBL.

After the keyword VOLUME, there should be two lines with layer names: areas will be calculated between the
LINEs belonging to these two groups of layers. Then comes prefixes for cut, fill and width labels. Not only cut and
fill, but many other quantities can be calculated between the two surfaces, just as cut and fill are.

After the keyword SURFACE, only one line with layer names appears: slanted/horizontal width of the surface is
calculated from LINEs belonging to the layers listed in this single sequence. The next line contains prefixes for
horizontal and slanted (curved) width of the surface. For the topsoil removal, horizontal width is quite adequate, but
for the surface representing the geotextile that envelopes drain trenches, only slanted (curved) width is accurate
enough.

After the keyword AUTOLBL, come two lines with layer names: lateral-offset/elevation labeling is carried out
between the LINEs belonging to these two groups of layers.

Labeling precision must be specified as well. You can ask through “*.xlb” file for as many volume, surface or
autolabeling procedures as you like.

All volume and surface labels are placed at their default position (left-up), just as with the old LBLSEC command. It
means that, immediately after applying XLBLSEC, all these labels are intermingled. Therefore, it is necessary to
rearrange labels generated with XLBLSEC by using XFORMAT command.

36
6-XSEC / XSEC-2009 04:09

XFORMAT
After the application of the LBLSEC command, there may be several overlapping quantity (cut/fill and surface
width) inscriptions within each cross-section. These inscriptions can be rearranged automatically, by using
XFORMAT command. First take one cross-section as a pattern and reposition its quantity inscriptions manually.
You can assign a specific layer to each quantity inscription of the pattern as well. Then select entire group of cross-
sections and all their inscriptions will be rearranged to comply with the selected pattern.

XSEC / 4-XFORMAT

UPDATESEC
By using UPDATESEC command, you can add new features into plotting-ready (labeled and rearranged) cross-
sections. First select the “*.sct” file and then select cross-sections to be updated. The command takes cross
sections stored in selected “*.sct” file and imports them into already drawn cross-sections. This is the way to
subsequently add protection fences, for example, into the completed cross sections.

XSEC / 5-UPDATESEC

XFRAMES
Commands XFRAMES and XREORDER work together. Command XFRAMES puts a kind of a frame around each
cross section from a selected group of cross sections. Before proceeding with XREORDER command, make sure
that all labels (especially volume and surface labels if reformatted with XFORMAT) lay within these frames

6-XSEC / XSEC-2009 11:04

XREORDER
Command XREORDER takes frames placed with XFRAMES command and puts them in a new order. The
command groups all entities enclosed within a particular frame (labels, manually added details) and transports
them together to a new location.

All selected frames are sorted in ascending stationing order, moved to a new location and reformatted in
accordance with the specified vertical separation, horizontal separation and new column height.

The reason to apply XFRAMES and XREORDER commands may be addition of new cross sections (perhaps,
generated as single cross sections, defined with LINE2XSEC command) to the already drawn group of cross
sections. Sometimes, you may also need to change column height of already drawn cross sections, or to provide
new vertical and horizontal spacing between them.

6-XSEC / XSEC-2009 11:04

MAKESTF
By using LBLSEC, “Right-of-way” marks (ROW marks) are placed within the selected cross sections. These marks
are inserted at a specified distance from the outer edges of cut/fill slopes and placed at the terrain level. By using
the MAKESTF command, positions of inserted ROW marks could be collected and exported into “*.stf” file (station -
lateral offset - elevation format). Finally, by using the FSTAOFS command (group PLAN), locations of ROW marks
are retrieved from “*.stf” file and labeled on the model. Marked in this manner, “Right-of-way” could be clearly seen
in plan projection.

By using the MAKESTF command, you can transfer changes made within the cross sections back to the model.
Just attach ROW marks to the changed features within the cross sections and export them in “*.stf” format. Finally,
import them into the model with the FSTAOFS command.

37
XSECTION3 01:24, 02:16, 02:32, 03:01

2.10 Group VOL

Commands from this group are used for volume calculations, especially for grid cell volume calculations.

GRIDVOL
While working on planar projects, you should apply grid cell volume calculations. When using this method,
calculated volumes are expressed in the form of a grid. Plan projection of such a grid is defined with the GRIDVOL
command and stored into “*.grv” file. Pick the origin of the grid and the direction of its x-axis and enter grid cell
dimensions. Then pick the ending point of the grid and specify the name of “*.grv” file.

GRAD6 01:51

CALCVOL
The CALCVOL command performs grid cell volume calculation. The command asks for two surfaces (proposed
and existing) and for a “*.grv” file. Volumes are calculated between the two triangulated surfaces within a specified
grid. Each grid cell will be covered with the GRIDCELL block attributed with cut and fill volumes. At the every corner
of each cell, existing and proposed elevations will be labeled as well.

Optionally, you can take into account the thickness of the topsoil to be removed and the turf (or pavement
thickness) covering the proposed surface.

GRAD6 02:36, 10:54

SUMVOL
SUMVOL collects GRIDCELL blocks inserted by the CALCVOL command and calculates cumulative cut and fill
volumes.

GRAD6 04:22

SUBSITE
The command SUBSITE asks you to select groups of GRIDCELL bocks. From each group, the command extracts
either cut or fill volumes, calculates cumulative cut or fill volume for the group and marks its centre of gravity. Then
the command places a new block containing cumulative volume and total area (covered by cut or fill) and connects
it with the calculated centre of gravity.

GRAD6 04:43

TABLEVOL
TABLEVOL takes blocks inserted with the SUBSITE command, extracts volumes and areas contained within the
blocks and tabulates volumes and areas. Optionally, the command writes the report into “*.vol” file.

GRAD6 05:19

38
(MASSHAUL) QUANTITIES
While working on linear projects, volumes are calculated from cross sections. Drawn cross sections are labeled
with cut/fill areas, by using the LBLSEC command (group XSEC). Based on stations (distances between
successive cross sections) and cut/fill areas, total cut/fill volumes are calculated easily. Just call the MASSHAUL
command and select a group of labels reporting cut/fill areas and specify the name for “*.mht” file. A complete
report will be stored into the file, including cut/fill areas, cumulative cut/fill volumes, widths and areas of the topsoil
to be removed etc.

The name of the command is not MASHAUL any more, but QUANTITIES. The old MASHAUL command was
working with the groups consisting of only three quantity inscriptions at a time (cut area, fill area and the width).
Now, it is possible to add several quantity inscriptions to the cross sections (by using LBLSEC command). Thus,
QUANTITIES command can manipulate an unlimited number of cut/fill and surface-width inscriptions. The results
are stored in groups of three (station, particular quantity at that station, cumulative quantity up to that station) into
the file whose extension is not “.mht” any more, but “.qtt”.

XSECTION3 13:17 XSEC / 6-QUANTITIES

PROFVOL
Cut/fill areas could be calculated from longitudinal profiles, just as they were calculated from extracted cross
sections. After identifying the profile you are working with, you are asked to specify a pattern for the proposed
surface entities and a pattern for existing surface (terrain) entities. Then you are expected to select a group of
LINEs and POLYLINEs (vertical curves). The program searches for entities belonging to the same layers as the
selected patterns and calculates cut/fill areas. The PROFVOL command may help you while balancing cut and fill
areas on longitudinal profiles.

XSECTION4 04:29, 04:45

2.11 Group UTIL (UTIL)

Commands from this group are intended for various purposes: extraction and tabulation of coordinates, layer
manipulation etc.

CODES
By using the command CODES, positions interactively selected on the model are marked with coding blocks.
These blocks are attributed with the group’s number (or the centerline’s number) and the point number. All blocks
inserted during one command’s call are attributed with the same group name, while the point number is
incremented automatically, as you pick the points.

In GCM2006 dynamic coding blocks are used, allowing the user to manually move the coding tag in relation to the
insertion point.
GRAD5 04:17
XROAD2 00:50
1-util 00:00

CODESTR
The command places coding blocks (the same used by CODES command) along the POINTs from a selected
string (“*.str” file). Coordinates of coded POINTs could be listed by using TABLE command. Suitable for extracting
39
the coordinates of strings generated by using 3DMODEL and 3DDYN command.

UTIL / 2-CODESTR

(TABLE) TABLECOORDS
The command TABLECOORDS (the old command name is TABLE) takes a group’s name and looks for coding
blocks attributed with this name. Coordinates of all points whose point number falls within the range determined by
the starting and ending point number (specified by the user) are tabulated. Optionally, coordinates are extracted
into specified “*.xyz” file.

The old command name (TABLE) had to be changed because the new AutoCAD’s command with the same name
is introduced.

GRAD5 05:46 XROAD2 01:04 1-util 01:35

COORGRID
Plotted drawing is usually covered with the coordinate grid whose step (or interval) is 10cm. COORGRID draws
such a grid. The command asks you for a scale of a plotted drawing. Default scale is 1:1000, which results in a
100units interval.

The area determined by the lower left and upper right corner, specified by the user, will be covered with GRID
blocks. Easting coordinates will be labeled along the grid’s bottom and Northing coordinates will be placed along its
left side. A block named N, indicating North direction, will be inserted in the upper right corner.

GRAD5 06:47

RESCALE
Select one inserted block as a layer pattern. The command will rescale the blocks belonging to the same layer as
the selected block. It is possible to rescale all the blocks from a selected layer or an interactively selected subset.
By using the RESCALE command, you can rescale not only GCM labeling blocks, but all the blocks within a
drawing.

DTM6 00:32
GRAD5 05:38
PLAN2 01:27, 10:03 PLAN3 07:16
PROFILE2 03:18
XSECTION2 09:01 XSECTION3 03:35

CLRLAYER
Select one entity as a layer pattern and the command erases entities belonging to the same layer as the selected
pattern. You can erase all the entities belonging to the selected layer or its interactively selected subset.

GRAD4 05:02 GRAD7 02:42


XSECTION3 05:48
XROAD3 08:37, 11:56 XROAD4 10:08, 13:30, 16:10 XROAD5 05:16

BRINGUP
Select an entity. Its layer becomes the current one and all other layers are frozen.

XROAD6 07:37

40
FREEZE
Select an entity and its layer will be frozen.

DTM6 02:25 GRAD7 06:28


TEMPLATE4 07:56 TEMPLATE5 12:37, 21:38 TEMPLATE6 07:34
XSECTION3 05:43

OFF
Select an entity and its layer will be turned off.

NO MOVIE FOR THIS COMMAND

THAWALL
Thaws all layers.

NO MOVIE FOR THIS COMMAND

ONALL
Turns all layers on.

NO MOVIE FOR THIS COMMAND

CHKFILE
If you have unintentionally erased some of the POINTs belonging to the string files (“*.str”), point files (“*.pts”), TIN
files (“*.tri”) or TIN border files (“*.bdt”) or if you have erased triangles belonging to the surface files (“*.srf”), you can
undelete them, by invoking CHKFILE command. Just select the file and all entities listed in the file, if erased in the
current editing session, will be undeleted.

The most critical situation arises when you unintentionally erase some of the entities belonging to the centerlines
(“*.hcl” files). In GCM2000 it is almost impossible to damage centerline entities. Each time you try to erase
centerline entities, the process of undeleting is triggered automatically.

DTM4 01:02
GRAD3 08:15
PLAN3 01:24

GCMDICT
GCMDICT automatically translates TEXT inscriptions within the drawing, enabling you to put the different cross
section titles, coordinate table titles etc. Also, by using this command, you can translate TEXT inscriptions into
different languages. Before invoking the command, you have to prepare the dictionary file (“*.txt” file). Words to be
replaced and the new words must be listed in this file. Then, the program asks you to select specific “*.txt” file and a
group of TEXT inscriptions to be translated.

UTIL / 3-GCMDICT

LOCK-GCM-REACTORS
LOCK-GCM-REACTORS temporary disables (locks) all aspects of GCM dynamics (DTM, plan, template, grading
...). By entering 1, the dynamics is locked. By entering 0, DTM dynamics is active again.

41
UTIL / 4-LOCK

KILL-GCM-REACTORS
This command must be called from the command line. The command destroys GCM reactors within the drawing.
Necessary before inserting a drawing as a block. (In GCM2004/2006 there is icon for this command).

DTM12 00:00 PLAN5 10:36, 11:02

2.12 Group GCMDRIVE (GCMDRIVE)

Old commands for vehicle movement simulation are moved to this new group. GCMDRIVE commands simulate
movement of vehicles along the selected trajectories, providing dynamics. It means that all the trajectories are
dynamically linked to the crossroads geometry, causing automatic repositioning of vehicles, while manipulating
crossroad layout.

Two commands are added in GCM2006: GCMDRIVEPATH and CHKTURN. In GCM2009 three new commands
simulating vehicle maneuvers are added, as well as two commands for sight distance analyses (available sight
distance analyses).

INSVEHICLE
Command INSVEHICLE asks you for a vehicle block (“*.dwg” file) and for a string (“*.str” file). The command links a
selected vehicle block to the starting POINT of the string. Later, during the process of vehicle movement simulation,
the vehicle block will be moved along the string by using GCMDRIVE command.

UTIL / 5-GCMDRIVE

ADDTRAILER
ADDTRAILER asks you to pick a vehicle block attached to the string with INSVEHICLE command and for a trailer
block name (“*.dwg” file). The command then attaches the trailer to the vehicle block. By using ADDTRAILER
command, you can attach even a trailer to the trailer, forming up “trains” of unlimited length.

UTIL / 5-GCMDRIVE
7-GCMDRIVE / GCMDRIVE-2009 01:42

GCMDRIVE
GCMDRIVE simulates movements of vehicles. A vehicle is driven along the selected string of points. Therefore, the
command asks for a string name (“*.str” file) and for a block representing a vehicle. There is a folder named
VEHICLES, within the GCM2000 folder, containing vehicle blocks.

Each vehicle block is accompanied with two attributes: wheel base and the distance from the datum point to the
point where the trailer is hooked. The datum point of a vehicle is the midpoint of the front bumper, but you can
change it by rearranging the vehicle’s block. During the simulation, each vehicle leaves a string of POINTs behind.
Thus, after simulating the movement of a truck, you can simulate the movement of its trailer in the next pass.

The grey text relates to the old (pre-GCM2004) GCMDRIVE command. Though the functionality of the new
GCMDRIVE command is completely changed, you should go through the old PLAN5 movie to see calculation

42
basics, creation of vehicle blocks etc. The new GCMDRIVE expects you only to pick a vehicle block, attached to
the leading POINT of the string, by using INSVEHICLE command. The command then drives the vehicle along the
string, pulling all the trailers attached by the ADDTRAILER command behind it.

Vehicle/trailer blocks inserted by GCMDRIVE command are dynamically linked to the string of POINTs. Thus, as
the POINTs are moved, vehicle/trailer blocks are repositioned automatically.

PLAN5 02:38, 06:45, 07:23, 07:50, 09:11, 09:42, 10:57 (entire movie is about old GCMDRIVE)
UTIL / 5-GCMDRIVE

GCMDRIVEPATH
GCMDRIVEPATH draws the trajectory of a specific point on the vehicle. First select vehicle block as a pattern and
pick the point on that vehicle. Then select entire group of vehicles generated with GCMDRIVE command. The
command links a specified point on each vehicle with the POLYLINE entity, thus creating the trajectory of a
characteristic point. The generated trajectory is a dynamic one. If the vehicles are repositioned (by manipulating
plan geometry) the trajectory is automatically redrawn.

1-DRIVE 03:19
7-GCMDRIVE / GCMDRIVE-2009 09:49, 11:50

CHKTURN
When the string along which the vehicle movement simulation is carried out follows very sharp turns, it is possible
that the positions of the generated vehicle blocks are mathematically correct, but not realistic. In other words, the
angle between the longitudinal axis of the vehicle and the imaginary polyline running through the POINTs from a
string might exceed maximum steering angle.

Therefore, GCMDRIVE command is upgraded to attribute each generated vehicle (or trailer) with the steering (or
turn) angle. If the vehicles are dynamically repositioned, turn angles are recalculated as well. The values of these
angles are not visible. They are incorporated into vehicle blocks and might be checked by using CHKTURN
command. Just pick the vehicle block and the turn angle is reported in the command line.

1-DRIVE 06:02

DYNVEHICLE
Command DYNVEHICLE inserts vehicle block and gives the starting rotation (direction) of the vehicle. Vehicle
inserted with DYNVEHICLE is further used by the newly developed TUG command, enabling interactive movement
of the vehicle. Trailers could be attached to the vehicle inserted with DYNVEHICLE, by using the old ADDTRAILER
command.

7-GCMDRIVE / GCMDRIVE-2009 00:39

MAXTURN
MAXTURN attributes vehicles inserted with DYNVEHICLE, and the trailers attached to it, with the maximum turning
(steering) angle. Vehicles are attributed one by one. While performing the new interactive movement of the vehicle,
by using TUG command, the program tracks the steering angles and alerts the user if the maximum steering
angles are exceeded.

7-GCMDRIVE / GCMDRIVE-2009 02:39

TUG
By using TUG command, you can interactively tug the vehicle. After specifying simulation step, you are expected to
select the vehicle block inserted with DYNVEHICLE command. After selecting the vehicle, a temporary triangle is

43
redrawn in front of the vehicle, sides of the triangle representing steering range. From the insertion point of the
block to the current mouse position, a temporary line is redrawn. This line acts as a rope. By using this rope, you
can tug the vehicle.

Sides of the temporary triangle, representing maximum steering capabilities of the vehicle, prevent the leading
point of the rope from straying outside the triangle’s boundaries. Each time you pick a point, the vehicle is moved
one step towards the cursor (the leading end of the rope). Thus, the vehicle is moved by picking positions in front of
the vehicle. The vehicle is not actually moved. New vehicle blocks, together with all the accompanying trailers, are
inserted, as you move the cursor (and pick the points). If you press “u”, the last step is undone (press just “u”, no
ENTER after “u”). You can undo as many steps as you like. If you press “x” (no ENTER after “x”) you will exit the
command.

It is almost impossible to steer the leading vehicle beyond its steering capacity. But, some of the trailers may
exceed maximum turning angle. In that case, an alert box will be displayed telling which trailer (if there are several
trailers) or vehicle exceeds the maximum steering angle. So, you can undo the last step (or several steps) and tug
the vehicle in a more favorable direction. If no maximum turning angle for vehicles (or trailers) is specified, by using
MAXTURN command, the maximum angle of 30deg is assumed.

Once stopped, the vehicle could be moved again, by calling TUG once more and selecting the last inserted vehicle.

As long as you pick the points outside the temporary triangle redrawn in front of the vehicle (far from the vehicle),
the vehicle follows the rope and moves forward. If you “shorten” the rope and pick a point inside the triangle, the
rope turns into a stiff rudder. Now, the vehicle moves backward, away from the picked point. This is how you can
simulate push-back maneuvers.

7-GCMDRIVE / GCMDRIVE-2009 03:26, 05:12, 06:28, 09:49

SIGHT
Commands SIGHT and SIGHTCHART support sight distance analyses. Command SIGHT calculates available
sight distance on a 3D model of the road. The available sight distance is calculated along the string generated as a
part of the 3D model of the road. Such a string should be generated just upon the surface of the pavement, offset
from the right edge of the pavement. As this string simulates the trajectory covered by the position of the driver, the
offset is usually in the order of 1.5m. According to some national policies and recommendations, the driver’s eye
lays 1.5m from the right edge of the pavement and 1.1-1.2m above the pavement surface. As the available sight
distance should be calculated for both directions of the road, two strings are usually needed: one 1.5 from the right
edge of the pavement (driving up the stations) and one 1.5m from the left edge of the pavement (opposite direction,
down the stations). Thus, the template of the road serving available sight distance analyses must be equipped with
two specially dedicated strings.

Based on the string placed upon the pavement surface, command SIGHT calculates the new imaginary string, at
1.1-1.2m above the pavement (height of the driver’s eye). In essence, command manipulates two strings, one
imaginary (eye of the driver) and one real (on the pavement surface). The command steps through the points of an
imaginary string (eye) and checks what points of pavement string are visible. For each point of the imaginary string
(each station) the available sight distance is calculated and stored in “*.sgh” file.

It is simple to calculate the available sight distance from a particular point. The program launches lines of sight from
that point to the pavement string points laying ahead. Lines of sight reach further and further, until the one
penetrating the triangulated model of the roadway is found. And this is the way how the available sight distance is
calculated. Since the program searches for the triangles to be penetrated graphically (automatically reducing the
set of the triangles to those in the immediate vicinity of the particular line of sight), calculation must be performed in
plan projection, with the entire span of the string clearly visible on the screen.

Command SIGHT first asks for a string name. Then asks whether to perform calculation along the stations (for right
string within the template) or down the stations (for the left string). After specifying the height of the driver’s eye,
you are supposed to enter the name of “*.sgh” file to be created.

7-GCMDRIVE / SIGHT-2009 00:00

44
SIGHTCHART
Command SIGHTCHART draws diagram representing available sight distances. This is a kind of a two-way
diagram depicting available sight distances for both directions of the road. The command asks for two ”*.sgh” files,
containing sight distances for the two directions of the road. One of them could be skipped, enabling drafting
diagrams for one-way roads.

The chart is drawn in stationXstation format, with available sight distance values centered around the diagonal.
Available sight distance values are drawn as vertical bars spanning from the station in concern to the farthest
visible station. The diagram could be drawn in parts, covering specified stationing spans.

7-GCMDRIVE / SIGHT-2009 07:57

LOCKDRIVE
LOCKDRIVE temporary disables (locks) GCMDRIVE dynamics. By entering 1, the dynamics is locked. By entering
0, DTM dynamics is active again.

UTIL / 5-GCMDRIVE

2.13 Group DYNPROF (DYNPROF)

This new group of commands creates dynamic longitudinal profiles. Points of vertical intersection, vertical tangents
and vertical curves are dynamically linked now, providing the creation of fully dynamic vertical alignments. By
moving some elements of vertical geometry, entire alignments are recalculated and modified, together with all
accompanying labels.

VPI
Command VPI inserts vertical points of intersection (represented with VPI blocks) into the selected longitudinal
profile drawn with the old DRAWPROF command. First identify the longitudinal profile you are working with by
picking one of the entities created with DRAWPROF command. Then scatter as many VPIs as you like throughout
the profile.

Later in the process, VPIs will serve as fixation points for vertical tangents.

1-DYNPROF 00:16

VTANG
The command VTANG links selected pairs of VPIs with vertical tangents (specially attributed LINEs). First identify
the longitudinal profile you are working with and then select two VPI blocks. Vertical tangents dynamically follow
VPIs wherever they go. Move one or more VPIs and all vertical tangents linked to these VPIs are repositioned as
well. These vertical tangents will later serve as a base for the construction of vertical curves.

1-DYNPROF 00:46

DYNCURVE
The command creates a dynamic vertical curve. The command asks for the radius and the two vertical tangents
45
(created with VTANG command). The created vertical curves are dynamically linked to the vertical tangents. Thus,
move the VPIs, and vertical tangents meeting at the modified VPIs are moved automatically, which, in turn, triggers
automatic modification of vertical curves.

1-DYNPROF 02:00

EDITDYNCURVE
If you are not satisfied with the curvature, you can subsequently change the radius of a vertical curve. Just call
EDITDYNCURVE command, select vertical curve already created with DYNCURVE command and specify new
radius. The selected curve is modified according to its new radius. Even if there are vertical links or labels attached
to the modified curve (with VLINK and DYNPROFLBL commands), they are modified automatically.

1-DYNPROF 06:25

VLINK
Upgrades and downgrades are represented with vertical links. They are streched between the ends of
neighbouring vertical curves. In general, grades are linked to the endpoints of vertical curves, but not necessarily.

The first and the last grade are exceptions. The first one starts at the first VPI, while its ending point might be
attached to the vertical curve. The last grade ends at the last VPI, while its starting point is linked to the end of the
last vertical curve. Also, some vertical points of intersection should not be rounded by using vertical curves. The
two neighboring grades just meet each other at VPIs like these, with no vertical curve applied.

Thus, VLINK command prompts the user to pick a pair of vertical curves or VPI blocks, linking them with the
dynamic vertical link. Whatever happens to the VPIs or vertical curves, a vertical link stretched between them
follows.

The conclusion is: the elements directly depicting vertical alignment are vertical curves and vertical links
(representing constant grades).

1-DYNPROF 03:39

DYNPROFLBL
Labeling of dynamic vertical alignments is carried out by using DYNPROFLBL command. Just select VPIs, vertical
links and dynamic curves. The first row at the base of the longitudinal profile, containing data on grades, is
calculated from VPIs, while proposed (designed) elevations (in the second row) are retrieved from vertical links and
dynamic curves. Labels containing curvature data are also attached to the curves.

All the labels produced with DYNPROFLBL are dynamic ones, following any modification of the vertical alignment.
Repositioning of VPIs causes a change of vertical tangents, which, in turn, modifies not only vertical curves and
vertical links but all accompanying labeling data as well.

1-DYNPROF 05:20

LOCKPROF
LOCKPROF temporary disables (locks) profile dynamics. By entering 1, the dynamics is locked. By entering 0,
profile dynamics is active again.

1-DYNPROF 07:09

46
2.14 Group CSC1 (CSC1)
CSC is synonym for “Cross Section Constructor”. CSC is a new design method in GCM2006. The purpose is to
directly produce highly detailed cross sections, avoiding template definition. In fact, when working on typical linear
projects, such as rural roads and railways, the main goal is to produce series of detailed cross sections. Complex
grading plans, prismoidal volume calculations and other procedures relaying heavily on 3D modeling are more
appropriate for planar facilities, such as airfields, multilevel junctions, parking lots etc.

What would be the shortest way of reaching a final series of cross sections? The method is well known and
characteristic to less sophisticated CAD systems, not dealing with complex 3D procedures. Usually, the first step is
extraction of terrain cross sections. In other words, terrain cross sections are calculated (sampled, or extracted)
along the centerline. These cross sections are calculated at specific intervals and contain terrain only.

In the second step, decisions are made about the pavement width and pavement cross grades. Sometimes, cross
grades are automatically preset along the centerline, taking into account local regulations (based on design speed,
curvature etc.). Thus, at each cross section’s position, the width and the cross grade of the pavement are
calculated. Of course, the width of the pavement might not be constant. It may vary from curve to curve. Lesser
radii require wider pavements, allowing unimpeded traffic of wide trucks. In general, at each cross section’s
position, pavement surface could be represented as a line (having appropriate width and cross grade). In fact, the
single line may represent the pavement surface falling continuously to one side at constant grade, while crowned
pavement requires two lines. Of course, the pavement surface of a dual carriageway requires two lines as well.

Thus, from one side, we have cross sections containing terrain only and, from other side, pavement surface
(represented with one or two pavement lines). The third step is coupling pavement lines with corresponding terrain
cross sections.

Usually, the fourth and fifth step, that are still to come, are joined with the third step. But in GCM2006, they are all
separated, providing more flexibility.

So, the fourth step is the construction of appropriate road details upon the pavement lines. An adequate software
tool takes cross sections one by one and compares pavement lines with the terrain surface. When thinking about
the detailed cross sections, it is best to start from the pavement edges. For example, let us consider the lower edge
of the pavement which entirely falls to one side (not a crowned pavement). If that lower edge lays beneath the
terrain surface (in cut), the gutter shall be placed right next to the edge. As all of the pavement layers fall toward
the lower edge, a drain trench would be needed below the gutter, collecting the water seeping through the
pavement layers. On the other hand, if the lower edge of the pavement is above the terrain surface (on fill), a
simple shoulder will be constructed along the pavement edge. Anyway, the first four typical details gradually
become apparent: Upper-Edge-Cut, Lower-Edge-Cut, Upper-Edge-Fill and Lower-Edge-Fill, telling what detail shall
be applied at the lower or upper edge, if it is in cut or on the fill. Thus, during the fourth step, the simplified cross
sections containing terrain surface and pavement lines are enhanced by adding appropriate road details (pavement
layers, shoulders, gutters, curbs, drain trenches etc.).

During the fourth step, some distinctive positions within the cross sections are marked as the starting points for cut
or fill slopes. Thus, in the fifth step, cut or fill slopes are constructed from these positions towards the terrain
surface.

While the first five steps are supported mainly by using commands from group CSC1, the sixth step is supported
with CSC2 commands. In this final step, more details are added, usually along the outer edges of cut and fill
slopes. These details may include fencing, ditches, retaining walls etc.

Now, let us see how GCM2006 supports these 6 steps. It was said that the first step assumes extraction of terrain
cross sections. This procedure has been supported for many generations of GCM with XSEC commands.
Command FINDSEC takes centerline (“*.hcl” file), vertical alignment (“*.vcl” file), stations file (“*.sta” file, containing
some stations of special interest) and sets the “knives” where the cross sections are to be extracted (or cut out from
the 3D model). The so called “knives” are set at constant stationing intervals (plus special stations listed in “*.sta”
file). The knives’ locations are stored in “*.sec” files. It is important to notice that, besides horizontal alignment
(“*.hcl” file), vertical alignment (“*.vcl” file) must be defined before starting FINDSEC.

CALCSEC command takes “*.sec” file, cuts the model by using “knives” stored in the file, and creates “*.sct” file,
containing extracted cross sections. While working with earlier versions of GCM, cross sections were extracted
after creating 3D model of the road (railway, runway etc.). Thus, extracted cross sections contained both the
existing ground and the designed facility. But now, what we need in the first step are “empty” cross sections,
containing terrain surface only.
47
Now, the CALCSEC command is applied only on the terrain model, producing cross sections (“*.sct” files)
containing just the terrain surface. When working with earlier versions of GCM, extracted cross sections were
drawn by using DRAWSEC command. The command was used to draw complex cross sections, containing both
the terrain and the road. But now, we are going to draw “empty” cross sections, containing terrain surface only.
Therefore, new command DRAWSEC0 is introduced in GCM2006. The command does almost the same as
DRAWSEC. The only difference is, DRAWSEC0 provides more vertical space per cross section, allowing
pavement lines and pavement details added later to stay within the cross section’s limits.

Thus, by using old FINDSEC and CALCSEC command, terrain cross sections are extracted and, by using
DRAWSEC0, they are drawn. These are the “empty” cross sections, containing terrain surface only.

Now, we are about to take the second step, to calculate pavement lines for each one of the “empty” cross sections.
What we are going to do is to attach some kind of pavement surface descriptions to the distinctive points along the
centerline. What is a pavement surface description? It is a relatively simple block, schematically representing
pavement surface and containing some very important attributes. The attributes are the width and the cross grade
of the left and right side of the pavement and centerline shift (where the centerline lays, is it moved to the left or to
the right edge etc.). Of course, if we are dealing with the dual carriageway, some more attributes would be needed,
such as the dimensions of the median or points on both pavements which are going to follow applied vertical
alignment. All in all, there are two types of pavement blocks, one intended for two lane roads and another for dual
carriageways (or motorways). Railways and other similar facilities might be resolved by using blocks intended for
two lane roads.

By using INSPAVETL command, blocks representing two lane road pavements are inserted, while INSPAVEMW
inserts blocks describing motorway (or dual carriageway) pavements. You may insert as many instances of these
blocks as you like and edit them by using standard techniques of changing attributes. But it is best to use
EDITPAVE command to change pavement parameters within the pavement blocks.

Once inserted, pavement blocks wait to be positioned along the centerline. The general idea is to somehow tell:
this width and this cross grade of the pavement should be applied at the start of the transition curve, while another
pavement definition should be assigned to the end of the transition curve. Thus, by using PAVE2HCL, inserted
pavement blocks are attached one by one to some distinctive points along the centerline.

Pavement blocks attached to the centerline create a unique definition of a pavement surface. As pavement blocks
are attached only to the key points (stations) along the centerline, the basic shape of the pavement surface (cross
grade and width) at each of the cross sections locations is calculated by using simple linear interpolation between
the successive pavement blocks. Command CALCPAVE takes pavement blocks attached to the selected
centerline, as well as the locations of the cross sections (“*.sec” file), and carries out that calculation. What
CALCPAVE actually does, is creation of “*.pav” files. These files are almost identical to “*.sct” files, except that they
contain exclusively pavement lines. And these pavement lines are ready to be imported into “empty” cross
sections. That would be the third step. But, before that, let us introduce the second step (phase 2.).

At first glance, the second step (phase 2.) might seem complicated. This step (or phase) assumes geometrical
refinement of pavement edges. For example, there might be certain stretches of a two lane road, where some
nonlinear widenings must be applied. There might be some rest areas, parking areas, or other reasons why one or
both pavement edges diverge from the centerline, thus creating independent horizontal geometry.

On motorways, even a more complex situation might arise. Not only horizontal alignments, but even separate
vertical alignments might be applied to the pavement edges of both pavements, causing the pavements to depart
both vertically and horizontally from the centerline (even keeping nonlinear widening at the same time).

Therefore, the command SETEDGE is introduced. Command sets the new edge of the pavement. It asks for the
horizontal alignment of the edge (“*.hcl” file, independent from the centerline for which the cross sections are
calculated) and for the “*.sec” file, the same file for which “empty” cross sections are calculated. If needed, even the
vertical alignment (“*.vcl” file) might be supplied for the pavement edge. Thus, for each of the cross sections, the
new position of the pavement edge (horizontal offset, and vertical position in relation to the centerline) is calculated.
Calculated pavement edges are stored in “*.edh” or “*.edv” files. If the edge is redefined by using horizontal
alignment only, SETEDGE creates “*.edh” file. If the edge is redefined by using both horizontal and vertical
alignment, SETEDGE creates “*.edv” file.

By using ADDEDGEH, “*.edh” files can be merged, whereas the use of ADDEDGEV command allows the merging
of “*.edv” files. For example, there might be two or more stretches of the road where complex nonlinear changes of
the left edge are taking place. So, we will put all edge definitions (“*.edh” or “*.edv” files) concerning the left edge
together into a single “*.edh” or “*.edv” file. If we are working with many “*.edh” or “*.edv” files, we might call

48
SHOWEDGE command, to ask for a graphical display of the selected edge (“*.edh” or “*.edv”) in plan projection.

In fact, “*.edh” and “*.edv” files are not directly going into calculation of pavement surface lines. There is one more
instance: CREATEALN command. Command CREATEALN takes selected “*.edh” and “*.edv” files and tells which
edge definition file (“*.edh” or “*.edv”) is to be applied to a certain edge (left/right edge or inner/outer edge, if we are
working on a motorway project), whether to turn vertical edge redefinition on or off etc. The setting created with
CREATEALN command is stored in “*.aln” file (“aln” is synonym for edge ALigNments). Once created, these
settings might be changed by using EDITALN command.

After deploying the CREATEALN command (and SETEDGE before it), we are ready to calculate the pavement
surface lines under the most complicated conditions. It was said earlier that CALCPAVE command takes pavement
blocks attached to the centerline (“*.hcl” file) and the cross sections’ locations (“*.sec” file) and calculates pavement
lines, storing them in “*.pav” files (almost identical to “*.sct” files). Optionally, CALCPAVE command takes “*.aln”
file also (the one created with CREATEALN). The command takes pavement definition blocks attached to the
centerline, and interpolates cross grade and pavement width at each of the cross sections supplied by “*.sec” file.
But ... wherever “*.aln” file redefines alignment of a specific edge, pavement data for this edge are overridden by
these corrected values.

In essence, when applying alignments to the edges, pavement cross grades are not changed. They are always
interpolated between the successive pavement blocks. Only the edges of the pavement are stretched horizontally
to meet the positions set by horizontal alignments attached to the edges. Furthermore, when vertical alignments
are assigned to the edges, the entire pavement is risen or lowered to bring the edge to its redefined elevation
(without changing the cross grade).

This would be end of the second step under the most complex circumstances.

The third step is the insertion of calculated pavement lines into the “empty” cross sections drawn with DRAWSEC0.
Command PAVE2XSEC does the job. Just select the “*.pav” file created with CALCPAVE and select the group of
“empty” cross sections. The command reads pavement lines from “*.pav” file and imports them into the
corresponding cross sections. What we have now are the cross sections containing the terrain surface and
pavement lines. And this is the end of the third step.

The fourth step is the construction of road details upon the pavement lines. Invoke command APPLYCSC, sweep
with the mouse over the group of cross sections containing terrain surface and pavement lines only and ... you will
be amazed by seeing road details growing around the pavement lines. But, calling command APPLYCSC requires
serious preparations. The command asks for “*.csc” file containing road details. This is ASCII file written by using
simple CSC language. Fill-Upper, Fill-Lower, Cut-Upper and Cut-Lower details (together with other design criteria
and design parameters) are stored in CSC format.

Files of “*.csc” type are ASCII batch files, typical for the software solutions of late 80’s. Perhaps, these small and
compact ASCII files were the most portable solution for storing and transporting design data, especially the
standard cross sections, between the projects. CSC language is not difficult to learn. For example, we are going to
tell the program that the simple shoulder will be used for lower pavement edge on fill. We will go to the Fill-Lower
section of the “*.csc” file. There is a 2D coordinate system set around the edge of the pavement, with the origin
(0,0) set just at the edge. And we will tell that the LINE should be drawn from (0,0), 1.5m outwards the edge, at
cross grade of -8%, in layer named “Shoulder”. Each LINE (or even BLOCK) forming the road detail around the
pavement edge is defined in coordinate terms. And to help coordinate definition of these elements, simple CSC
syntax is devised. The syntax is compatible with the cross section’s basic geometrical nature. For example, by
using simple statements, the grade of the specific LINE might be aligned with the pavement line, but not fall below
the certain minimum. Just like the bottom line of the gravel subbase which is usually parallel to the pavement
surface, but when the cross grade of the pavement falls below the certain minimum (2.5%, or 4.0% in some
countries), cross grade of the subbase bottom must remain 2.5% or 4.0%, in order to efficiently convey the ground
water away from the pavement structure. On the other hand, the span of a certain line might be defined as a real
number, but it may be related to the pavement width: draw the line up to the halfwidth of the pavement, or up to the
point which is 0.3m in front of the opposite edge of the pavement. Nevertheless, the CSC options are devised to
follow the way of designer’s thinking, while resolving road details. But still, CSC language requires particular users
attention, as it presents the most important improvement in GCM2006.

Defining the cross section details in CSC format may lead to coding errors. Therefore, besides APPLYCSC
command, there is also CSCTEST, enabling you to test “*.csc” files while still developing them.

Perhaps, the best way of understanding CSC format is to play with CSCTEST command. Command asks you to
pick three LINEs and one “*.csc” file. The three LINEs are drawn relatively freely. Two of them should act as the
pavement lines, while the third one acts as the terrain line. The first two LINEs might be adjoining, representing the

49
two sides of a two lane road, or separated, representing the two pavements of a motorway. If adjoining, they might
either be aligned, depicting the pavement falling continuously to one side, or “broken”, representing the crowned
pavement. Comparing pavement edges with the terrain line, CSCTEST decides the road details to be used (Fill-
Upper, Fill-Lower, Cut-Upper or Cut-Lower) from a selected “*.csc” file. So, for the beginning, it is best to quickly
sketch the pavement and terrain LINEs and to test “*.csc” files supplied with GCM2006 on them.

Besides command groups CSC1, and CSC2, GCM2009 introduces the new CSCi module. This module is devoted
to the graphical definition of CSC details. Defining of CSC details is incomparably faster with GCM2009. All
elements of a particular road detail are drawn around the symbolic pavement edge and stored in one of the “*.fup”,
“*.flw”, “*.cup” or “*.clw” files (types of files keeping definitions of FU, FL, CU and CL details). These details could
be tested separately and automatically assembled into complete “*.csc” cross section definition.

The fifth step is the construction of cut and fill slopes. While constructing road details, command APPLYCSC,
marks some important positions within the cross section with Xstrings. These strings are similar to 3D strings (the
strings of POINTs), used in GCM from the very beginning. Just as 3D models of cut and fill slopes were generated
along these 3D strings, command DRAWSLOPE now constructs slopes from Xstrings. By using FILLETSLOPE,
you can even fillet the outer portions of cut/fill slopes.

By now, all the commands from CSC1 group are listed. Only the commands belonging to CSC2 group are left to be
explained. These commands are intended for manipulating Xstrings. Fine manipulation of Xstrings may represent
the sixth step. In relation to the Xstring positions, you may insert the ditches, manipulate their vertical alignment,
insert fences, communicate between the cross sections and the 3D model etc.

So for now. Let us get to the commands of CSC1 module.

INSPAVETL
INSPAVETL inserts pavement block of a two lane road. The name of the inserted block is PAVE-TWO-LANE-
ROAD. The block contains attributes concerning the left and right side of the pavement: the width and the cross
grade for each side. Also, there is parameter telling which point of the pavement follows the centerline. The
centerline might be moved towards a left or right edge etc.

1-Twolane-road-simple/
/1-Pave-blocks-Superelevation 00:00 (entire movie is on pavement blocks of a two lane road)

INSPAVEMW
INSPAVEMW inserts pavement block of a motorway, or dual carriageway. The name of the inserted block is PAVE-
MOTORWAY. The block contains attributes concerning the left and right side of the pavement: the width and the
cross grade for each side. There are also parameters concerning the dimensions of the median and telling how far
from the centerline are the inner edges of the left and right pavement. Usually, these inner edges are the points
that follow the vertical alignment of the motorway. But, there are also parameters enabling these positions to be
moved closer or farther from centerline. Commands INSPAVETL and INSPAVEMW open almost the same dialog,
except some of the fields are disabled.

4-Edge-alignments-motorway/
/1-edge-alignments-motorway 00:00 (till 04:54)

EDITPAVE
At the end, the pavement blocks will be attached to the particular centerline. Most of the pavement blocks have
similar attribute values. For example, the width of the pavement might be constant along the centerline, only the
cross grades will vary. Thus, instead of inserting pavement blocks one by one (by using INSPAVETL or
INSPAVEMW) and attaching them to the key stations along the centerline, just insert one block and make its
copies. Then, by using EDITPAVE command, adjust cross grades or other parameters that may differ along the

50
centerline.

1-Twolane-road-simple/
/1-Pave-blocks-Superelevation 05:23

PAVE2HCL
By attaching pavement blocks to the specific key points (or stations) along the centerline, you are setting the
pavement dimensions and cross grades at each of these particular positions. Pavement blocks are attached to the
centerline by using command PAVE2HCL. In general, you have pavement blocks scattered around the centerline
(the blocks inserted with INSPAVETL or INSPAVEMW). After invoking PAVE2HCL, you are prompted to select the
centerline (“*.hcl” file). Then, in succession, you are asked to pick pairs: an element of the centerline (LINE, ARC or
clothoid) to which the pavement block is going to be attached and the pavement block itself. After picking an
element of the centerline, you are asked to set the distance from the starting or ending point of the element. And
this is the exact location at which the pavement block will be inserted. After attaching the pavement block to the
specific centerline, the station attribute of the block changes its value from 0+000.00 to the value of the station to
which the block is attached.

Once attached to the centerline, the pavement block behaves dynamically. Whatever happens to the element of
the centerline to which the pavement block is attached, the pavement block always keeps a constant distance from
the starting (or ending) station of that element (something like template blocks attached to the centerline with
ADDTMP command, group TMPL).

1-Twolane-road-simple/
/1-Pave-blocks-Superelevation 08:21

SETEDGE
It is clear that the dimensions and cross grade (or grades) of the pavement surface at each station (or cross
section) might be interpolated between the previous and following pavement block attached to the centerline. But,
in some cases, the edges of the pavement might follow horizontal geometry that is completely independent from
the centerline. In cases like these, the cross grades are still interpolated between the pavement blocks, but the
edges of the pavement are moved laterally to conform with the geometry set by another, possibly independent
centerline.

When working on motorway projects, you may even apply independent vertical alignments to some of the
pavement edges. So, in that case, the edges will follow a distinctive horizontal and vertical alignment. Pavement
cross grades will remain as interpolated between the pavement blocks, but the pavement edges will be stretched
laterally (up to the independent centerlines) and the entire pavement might be raised (or lowered), allowing
particular edge to follow the specific vertical alignment.

The command SETEDGE creates these specific edge definitions. You are asked to select “*.sec” file, “*.hcl” file
and, optionally, “*.vcl” file. At each of the cross sections locations specified in “*.sec” file, command calculates the
lateral offset from the main centerline (centerline to which “*.sec” applies) to the selected edge centerline (stored in
supplied “*.hcl” file). If the vertical alignment (“*.vcl” file) for the edge centerline is defined and supplied, the
command will calculate the elevation at that location as well.

Command SETEDGE sets EDGE blocks wherever cross sections from the selected “*.sec” file intersect with the
edge centerline. These blocks contain several attributes, one of them being the group name, and the command will
ask you for it. The group name is only the title given to the certain edge

But, the most important output from SETEDGE command is “*.edh” or “*.edv” file. These are the files containing
edge definitions.

If the edge is redefined by using “*.hcl” only, then “*.edh” file is created. Otherwise, if the “*.vcl” definition is
supplied, then “*.edv” file is created.

3-Edge-alignments-twolane-road/
/1-edge-alignments-twolane-road 09:00

51
ADDEDGEH
It may happen that the left edge, for example, has to be redefined at several places along the main centerline.
Thus, we may have several “*.edh” (or “*.edv”) files for one edge. For further manipulation, it is almost a must to
group all “*.edh” (or “*.edv”) files concerning the left (or right) edge together.

So, command ADDEDGEH takes several “*.edh” files and merges them into a single “*.edh” file.

4-Edge-alignments-motorway/
/1-edge-alignments-motorway 19:03

ADDEDGEV
Just as command ADDEDGEH merges several “*.edh” files into a single one, the command ADDEDGEV takes
several “*.edv” files and merges them into a single “*.edv” file.

No movie for this command

SHOWEDGE
If you are working with several edge definitions, you may lose track of them. Just call SHOWEDGE command,
select “*.edh” or “*.edv” file and the edge stored in the file will be redrawn on the screen.

3-Edge-alignments-twolane-road/
/1-edge-alignments-twolane-road 16:35

CREATEALN
Edge files (“*.edh” and “*.edv”) do not go into pavement surface calculation directly. The files that are taken into
calculation are “*.aln” (alignments) files. These files are created with CREATEALN command. By using this
command you can assign selected “*.edh” or “*.edv” definition to the specific edge.

When working with a two lane road, you can apply “*.edh” definitions to the left edge, to the right edge or to both of
them. In the commands dialog, these edges are called “left outer” and “right outer” edge.

When working on motorway projects, you can apply separate “*.edh” definitions to all four edges: Outer Left, Inner
Left, Inner Right and Outer Right Edge. You may even apply “*.edv” definitions to all four edges, but only one edge
from one side of the pavement can inherit vertical definition stored in the supplied “*.edv” file. And here is the
reason why.

For example, at a certain station (or cross section) the left pavement of the motorway is at a specific cross grade,
interpolated between the previous and the following pavement block attached to the centerline. And, throughout the
calculation, it must stay unchanged. If the vertical correction is made to one edge only (be it inner or outer), the
calculation will simply move the pavement vertically (and parallel to its basic position) until the desired elevation of
the edge is reached. Redefining elevations of both edges would change the cross grade, disrupting the
superelevation concept.

The dialog of CREATEALN command is rather simple. Especially simple is the switching of vertical control between
the edges of motorway pavement.

The same dialog is used for two lane roads and motorways. In general, two lane road edges are affected only by
options concerning “Left Outer Edge” and “Right Outer Edge”. Also, vertical edge definitions affect motorway edges
only.

3-Edge-alignments-twolane-road/
/1-edge-alignments-twolane-road 19 :16

4-Edge-alignments-motorway/
/1-edge-alignments-motorway 20:41

52
EDITALN
If you want to change an already created “*.aln” file, you can do it by using EDITALN command. Sometimes you
may need to supply a new “*.edh” or “*.edv” file for a certain pavement edge, or turn On or Off the vertical control
for motorway’s pavement edges etc.

No movie for this command

CALCPAVE
CALCPAVE command is the one that calculates the geometry of the pavement surface (or pavement lines). The
command asks for “*.sec” file and “*.hcl” file, then takes all the pavement blocks attached to the selected centerline
and calculates pavement lines at each of the cross sections specified in “*.sec” file.

The command optionally takes “*.aln” file, containing data on pavement edges to be redefined horizontally or
vertically. As said with CREATEALN, the pavement edges might be forced to follow independent horizontal or even
independent vertical alignments.

CALCPAVE steps onto the station of each cross section and looks for the pavement block attached before and the
pavement block attached after that station. Then the program calculates cross grades and pavement dimensions
(widths) at the cross section’s station by using simple linear interpolation. But, if “*.aln” file demands redefinition of
pavement edges, then the cross grade would remain as an interpolated one, while the edges would be moved
laterally (following independent horizontal alignment). If the vertical redefinition of the certain edge is required too,
then the cross grade would still remain unchanged, but the entire pavement line would be moved vertically,
bringing the edge in concern to its redefined elevation.

Calculated pavement lines are stored cross-section-by-cross-section into the “*.pav” files. The structure of “*.pav”
file is almost identical to the structure of “*.sct” file, making it easy to import into the “empty” cross sections, waiting
to be supplemented with pavement lines.

1-Twolane-road-simple/
/1-Calculating-pavement-surface 00:00
3-Edge-alignments-twolane-road/
/1-edge-alignments-twolane-road 21:16
4-Edge-alignments-motorway/
/1-edge-alignments-motorway 22:01

CSCTEST
The next command in CSC1 toolbar is CSCTEST, the command testing “*.csc” files. While working on a real
project, “*.csc” file (containing road details) is applied with APPLYCSC on cross sections supplemented with the
pavement lines (the lines inserted with PAVE2XSEC into the “empty” cross sections). But, before applying “*.csc”
file, it is good practice to test it with CSCTEST command.

CSCTEST asks you to select three LINEs and one “*.csc” file. The first two LINEs simulate pavement lines, while
the third one simulates terrain surface (as a straight line). The first two LINEs should be in a realistic position. If
representing a two lane road, they should be connected. Also, they should follow the same cross grade, when
representing a pavement surface falling continuously to one side. When representing a “crowned” pavement, they
might be angled. When representing a dual carriageway, pavement lines might be separated, but still possessing
reasonable cross grades.

For each of the pavement edges, the program analyses its relation to the terrain surface and the relation to the rest
of the pavement surface, deciding which detail to deploy: Fill-Upper, Fill-Lower, Cut-Upper or Cut-Lower. Based on
these relations, the road details stored in the selected “*.csc” file are built around the pavement edges.

Though several “*.csc” files are thoroughly analyzed in “*.avi” files accompanying GCM2006, it is time to say
something about the CSC format. “*.csc” files are ASCII files and must be created with ASCII editors. The general
structure of “*.csc” file is:

53
STRING-START
...
STRING-END
FILL-UPPER-START
...
FILL-UPPER-END
FILL-LOWER-START
...
FILL-LOWER-END
CUT-UPPER-START
...
CUT-UPPER-END
CUT-LOWER-START
...
CUT-LOWER-END
MID-UPPER-START
...
MID-UPPER-END
MID-LOWER-START
...
MID-LOWER-END
EDIT-START
...
EDIT-END
CUT/FILL-CRITERIA-START
...
CUT/FILL-CRITERIA-END

All these file sections must be present in proper “*.csc” file, in the sequence shown above (including STRING and
CUT/FILL-CRITERIA section). Only the sections MID-UPPER and MID-LOWER might be omitted. They are used
only with motorway cross sections. MID-UPPER section defines the details to be constructed around the inner
edge of the pavement if the pavement surface falls away from the edge (and the edge is up). MID-LOWER section
defines details around the inner edge if the pavement surface rises from that edge up (and the edge stays low).

STRING section is the first one. This section contains only one line with 7 parameters. A typical code might be:

STRING-START
L,ML,MR,R,str,2,0.2
STRING-END
...

What CSCTEST (and APPLYCSC) command does, is to draw LINEs around the pavement edges. But, besides
drawing LINEs, CSCTEST (and APPLYCSC) inserts XSTR blocks at specified positions. These XSTR blocks
represent strings, similar to the 3D strings of POINTs that have been used since the earliest versions of GCM.
Later, you can draw cut/fill slopes starting from XSTR strings, attach some more details to the XSTRs etc.

XSTR strings are defined within FU (FILL-UPPER), FL (FILL-LOWER), CU (CUT-UPPER), CL (CUT-LOWER), MU


(MID-UPPER) or ML (MID-LOWER) details. Each string is given a unique number (integer), by using syntax that
will be explained later. For example, there might be a string numbered 1 within FU, FL, CU or even more details.
Some of these details might be applied on the left or right edge of the pavement (or in the median). But, if string
number 1 appears around the left edge, it will be given the prefix “L”, becoming string “L1”. If it appears around the
right edge, it will be named “R1”. If generated at the left median edge, it will be named “ML1” and, at the right
median edge, it will be named “MR1”. And, this is what “L,ML,MR,R,str,2,0.2” sequence in the STRING section
means. These are the prefixes, used while creating string names.

The “str” is the name of the layer in which XSTR blocks are to be placed. Then comes number 2, the color number
to be used. Finally, 0.2 is the insertion scale for the XSTR blocks.

After the string section, come road details: FU, FL, CU, CL and, optionally, MU and ML. Each of these details will
be constructed by using LINEs (and the XSTR blocks will be inserted at the positions specified).

For example, between the FILL-UPPER-START and FILL-UPPER-END, geometrical definitions of LINEs to be
drawn for FU detail will be placed. To help the construction of these LINEs, some points could be defined too.
These points are set in relation to the pavement edge. The LINEs will be drawn between these points or in relation

54
to them. Thus, FU definition (just like other pavement details: FL,CU,CL,MU and ML) consists of point definitions
and LINE definitions. Each of these points and LINEs has a unique number (integer). Thus, after defining points 1
and 2, you can draw LINE from POINT,1 to POINT,2. But, the LINEs are drawn (and XSTR blocks are inserted),
while the points remain as temporary coordinate definitions, serving only as a base for drafting LINEs and XSTRs.

The POINTs might the defined in coordinate terms. The coordinate system is tied to the pavement edge. Thus, the
coordinates of the pavement edge are 0,0. In all the “*.csc” examples supplied with GCM2006, the definition of
each detail starts with the definition of POINT numbered 0:

POINT,0,COORDS,0.0,0.0

It means that POINT number 0 is set at COORDinateS 0.0,0.0. The simplest way of defining POINTs is by using
fixed coordinates.

But, the POINT might be defined in many ways, for example:

POINT,1,FROM,0,DXDY,0.,-0.2

means the POINT number 1 will be set in relation to POINT,0. It sits at the 0.0 in X direction and -0.2 in Y direction
FROM point 0. It means DX is 0., while DY is -0.2.

Also, the POINT can be set at the start or at the end of the specific LINE. The only prerequisite is that the LINE
must be defined before its use:

POINT,3,LINE,5,END
POINT,4,LINE,200,START

While the first definition sets the POINT number 3 at the END of LINE number 5, the second one sets the POINT
number 4 at the START of LINE number 200.

POINT might be set at the intersection of the two LINEs. Let us set POINT number 5 at the intersection of LINEs 6
and 7:

POINT,5,INT,6,7

Let us set the POINT number 8 at grade -3% in relation to POINT number 7 and 1.5m (measured horizontally) in
the direction leading from the pavement edge out:

POINT,8,FROM,7,GRADE,-3.,1.5

In sequence:

POINT,8,FROM,7,GRADE,-3,-1.5

the negative parameter would set the POINT,8 FROM POINT,7 towards the interior of the pavement. Sign “+” is the
synonym for “out”, while the “-“ sign is the synonym for “in” (in relation to the pavement edge).

If we are going to set the POINT at a specified slope in relation to the already defined POINT, we will use the
expression:

POINT,9,FROM,8,SLOPE,-2.,3.

It will set POINT,9 at the slope 1:-2 (downwards) FROM POINT number 8 and 3.0m (measured horizontally) in the
direction leading from the pavement edge out. If positive, the slope parameter (-2. in this case) would set POINT,9
from POINT,8 up. The width parameter (3. in this case) might also be positive or negative.

But, setting the POINT at the specified grade in relation to another POINT offers more versatile format:

POINT,10,FROM,9,GRADE,PAVE,-2.5
POINT,12,FROM,11,GRADE,PAVE(4),3.0

The first sequence tells to set POINT,10 in relation to POINT,9 at the grade that is parallel to the grade of the
pavement line ending at the edge in question. The last parameter (-2.5) sets POINT,10 from POINT,9 inwards (into
the pavement), for 2.5m.

55
The second line sets the POINT,12 in relation to POINT,11 at the grade that is parallel to the pavement, but not
less than 4%. This grade option is very handy and is almost a must when dealing with LINEs (which will be
explained later). In fact, in many European countries, the bottom line of the gravel subbase is parallel to the
pavement surface, as long as the pavement cross grade is greater or equal 4% (in some countries 2.5% or 3.0%).
When the pavement cross grade falls below 4%, the gravel base bottom remains at 4%, ensuring lateral
evacuation of the ground water that may penetrate into the gravel subbase. The last parameter (3.0) sets
POINT,12 from POINT,11 outwards, for 3.0m.

While the argument PAVE is predefined for the grade value, the parameter W is predefined for the width:

POINT,14,FROM,13,GRADE,PAVE(4),W,/2.

In this case POINT,14 is set at the grade that is parallel to the pavement (but not less than 4%) in relation to
POINT,13. And the POINT,14 will be set at the halfwidth of the pavement. The sequence:

POINT,14,FROM,13,GRADE,PAVE(4),W,/3.

would set POINT,14 at one third of the pavement width (measured from the pavement edge in question).

The next sequence is very characteristic too:

POINT,25,FROM,0,PAVE,W,-0.3

It sets POINT,25 at grade PAVE from POINT,0. If we assume that POINT,0 lays exactly at the edge of the
pavement, then POINT,25 would be set at the distance that ends 0.3m in front of the opposite pavement edge
(Width-0.3), and following the cross grade of the pavement. If the width of the marginal lane is 0.3m and, if the
opposite edge is the upper edge (and POINT,0 the lower edge of the pavement), then POINT,25 identifies the
position where the minimum designed thickness of the pavement must be satisfied. So, sequence like this one may
help you identify one of the key positions within the cross section.

When coding certain section of “*.csc” file (FU, FL, CU, CL, MU, ML), you can mix LINE, XSTRing and POINT
definitions. The only prerequisite is that each LINE and POINT item must be defined before its potential use while
defining other LINEs, POINTs or XSTRings.

The number of each POINT, LINE or XSTRing is unique within the particular section of a “*.csc” file (FU, FL, CU,
CL, MU or ML). In other words, there may be only one LINE number 1 and only one POINT number 1 within each
road detail. On the other hand, each road detail may have its own POINT,1, LINE,1 etc.

The LINEs are the most important elements of a particular road detail. The road details consist of LINEs placed in
specified layers and colors. These LINEs are defined within the coordinate system with the origin set at the edge of
the pavement. The geometry of a particular LINE is based on previously defined POINTs and LINEs. A typical LINE
definition might be:

LINE,1,SHOULDER,BYL,POINT,0,GRADE,-8,1.5

This sequence defines LINE number 1. The LINE will be drawn in the layer named SHOULDER and by using color
BYLAYER. LINE,1 starts at POINT number 0, falling down at the grade of -8%, extending for 1.5m (measured
horizontally) in the direction leading out from the pavement edge. Grade format (intensity and width) is the same as
for the POINT definition.

The next sequence defines LINE number 2 starting at the END of LINE,1, sloping down at 1:-2 and extending for
2m outwards.

LINE,2,SLOPE,BYL,LINE,1,END,SLOPE,-2.,2.

The LINE might be drawn between the starting or ending point of previously defined LINEs. The following
sequence draws LINE,200 between the LINE,3,START and LINE,4,END.

LINE,200,NODRAW,BYL,LINE,3,START,LINE,4,END

Notice that, if the LINE is placed in the layer named NODRAW, then it is not going to be drawn at all. The LINEs
like these serve only as auxiliary LINEs, for the calculation of other LINEs or POINTs.

56
You can also draw vertical or horizontal LINEs, starting at specified positions and having specified length.

LINE,7,NODRAW,BYL,POINT,2,Y,-2.
LINE,8,NODRAW,BYL,LINE,3,START,X,2.

LINE,7 is vertical LINE, starting at POINT,2 and heading down for 2m (following Y direction for -2.0m). LINE,8 is
the horizontal LINE starting at LINE,3,START and heading out for 2.0 (following X direction for 2.0m).

You can also define a new LINE as offset from the existing LINE.

LINE,1,SHOULDER,BYL,POINT,0,GRADE,-8,1.5
LINE,203,NODRAW,BYL,OFFSET,1,-0.2

The previous sequence defines LINE,203 as offset from LINE number 1. The LINE,203 is offset for 0.2m to the
right. The “-“ sign stands for right offset in relation to the direction defined by the starting and ending point of
LINE,1. Bearing in mind that most of the LINEs are heading outwards (this is the most common LINEs’ definition),
the negative offset (to the right) would put the offset LINE down, which is quite logical. In the previous example,
LINE,1 is the shoulder LINE, depicting the top of the turf, while its negative offset (for 0.2m down) represents the
bottom of the turf, or the top of the compacted soil below the shoulder.

By using SHIFT statement, you can generate a LINE that is moved in X or Y direction in relation to the parent LINE.
In the next example, LINE,200 represents the pavement surface, while LINE,15 is the bottom of the bituminous
layers (or top of the gravel subbase), shift down (in Y direction) for 0.2 (supposed total thickness of bituminous
layers is 0.2m).

LINE,15,SUBBASE,BYL,SHIFT,200,Y,-0.2

Option “X”, if supplied instead of “Y”, would move the LINE along the X axis.

While drafting the LINEs at the specified grade, there are several options at your disposal, almost identical to the
options explained with POINT syntax.

LINE,6,DATUM,BYL,LINE,5,END,GRADE,PAVE(4),W,/2.

LINE,6 would be drawn in layer DATUM (representing the bottom of the gravel base), starting at LINE,5,END, at a
grade parallel to the pavement (but not less than 4%), extending up to the halfwidth of the pavement. The option is
frequently used to draw the bottom of the subbase (or the top of the subgrade) that is usually parallel to the
pavement surface, but must not fall below 4% (2.5% or 3.0% in some situations), enabling lateral evacuation of the
water accumulated in the gravel subbase.

The sequence similar to the one demonstrated with POINT definitions might be used with LINEs as well:

LINE,201,NODRAW,BYL,POINT,0,GRADE,PAVE,W,-0.3

The LINE,201 extends from POINT,0 (the edge of the pavement) up to the position which lays 0.3m in front of the
opposite edge of the pavement and is aligned with the cross grade of the pavement. It was already said (with
POINT options) that a definition like this one helps you find the position where the minimum thickness of the
pavement structure must be satisfied. In fact, the minimum pavement thickness must be satisfied at the point where
the through lane meets the marginal lane near the upper edge of the pavement. Bearing in mind that pavement
surface and subgrade surface might diverge towards the lower edge (because subgrade stays at 4%, even when
pavement surface gets shallower), the thickness of the pavement structure (in fact, the thickness of the subbase
only) gets thicker while closing towards the lower edge. Thus, the minimum pavement thickness must be satisfied
not at the upper edge of the pavement (because the wheels do not come that close to the edge), but at the point
where the upper marginal lane meets the upper through lane. So, the previous syntax helps you find that position.

Quite often, some of the LINEs must end at the intersection with other LINEs. For example, the LINE representing
the subgrade extends up to the LINE representing the fill slope.

LINE,12,DATUM,BYL,POINT,2,LINE,206,INT,GRADE,PAVE(4)

Thus, LINE,12 would be that LINE. It starts at POINT,2 and extends up to the intersection with LINE,206 (which
acts as the fill slope LINE) at a grade parallel to the pavement surface (but not less than 4%). So, instead of
LINE,206,END (or START), for example, you can type in LINE,206,INT and proceed with the appropriate
parameters.

57
Or, there might be a subbase layer of the pavement structure whose bottom is drawn as LINE,204. And the side
face of that layer must be at the slope of 1:-2, and starting from POINT,2. The side of the subbase layer might be
defined as LINE,18, by using the sequence:

LINE,18,SUBBASE,BYL,POINT,2,LINE,204,INT,SLOPE,-2.

When entire details (curbs, drainage elements, railings) are to be added to the cross sections, it is advisable to use
the blocks. The blocks are inserted at the POINT positions. Unlike the blocks used in GCM templates, blocks used
in CSC may contain elements other than LINEs. In essence, blocks are inserted into the cross sections by using
insertion point and rotation:

BLOCK,CURB,POINT,0,0.0

In this example, block CURB is inserted at POINT,0 with the rotation 0.0. In some cases, special types of gutters
are rotated to comply with the cross grade of the pavement:

BLOCK,GUTTER-ROT,POINT,0,PAVE(4)

Thus, block GUTTER-ROT is inserted at the cross grade parallel to the pavement surface, but not less than 4%.
Rotation can also be defined by specifying two POINTS:

BLOCK,CAR,POINT,1,POINT,0,POINT,1

Now, block CAR is inserted at POINT,1, following the direction heading from POINT,0 to POINT,1.

Inserted blocks are automatically exploded, leaving behind LINEs, ARCs and other objects tehy are created from.
XSTRings, from which cut or fill slopes, or other details are constructed, are exclusively inserted at the POINT
positions. Thus, if you want to put the XSTRing at the end of a particular LINE, you must turn this end into a POINT
first.

POINT,4,LINE,3,END
STRING,1,POINT,4

The code puts POINT,4 at the LINE,3,END. The following sequence puts STRING,1 at POINT,4.

This was the syntax of defining POINTs, LINEs, BLOCKs and XSTRings in FU, FL, CU, CL, MU and ML details.
But, in EDIT section of the “*.csc” file the syntax is different.

Sometimes it is not possible to construct the cross section by assembling independent FU, FL, CU, CL, MU or ML
details generated around the isolated pavement edges. In many cases, it is necessary to draw LINEs between the
details generated around the opposite pavement edges. Sometimes, by using W options (W,-0.3, for example) for
width parameter, you can apply to the opposite edge of the pavement when defining the road detail. But,
sometimes, only after the completion of all road details around the pavement edges could you establish some
LINEs between the opposite details.

For example, in the EDIT section you can type:

LINE,BASE,BYL,CL,100,CL,100
LINE,BASE,BYL,CU,100,FL,100

The first sequence tells the program to draw the LINE in layer BASE if the CL (CUT-LOWER) detail is applied at
both pavement edges. The program will draw the LINE between POINT,100 from one CL detail and POINT,100
from the opposite CL detail.

The second sequence tells the program how to resolve the situation where CU (CUT-UPPER) is constructed
around one edge of the pavement, while FL (FILL-LOWER) is placed at the opposite edge. The LINE will be drawn
between POINT,100 from CU detail and POINT,100 from FL detail.

Or, while working on a motorway (or dual carriageway) project, you end up with the median details, ML (MID-
LOWER) and MU (MID-UPPER). Suppose, you have defined LINE,100 in ML and LINE,102 in MU. If put in the
EDIT section, the next sequence will fillet these two LINEs.

FILLET,ML,100,MU,102

58
Of course, through the EDIT section, you can edit the LINEs generated in other details – FU, FL, CU, or CL.

The last section in “*.csc” file is CUT/FILL-CRITERIA section. This section consists of two lines, the first one
containing one real number only, and the second one containing layer names.

CUT/FILL-CRITERIA-START
1.1, 2.0
TRI,TRIROAD
CUT/FILL-CRITERIA-END

First real number in the first line defines a crucial parameter. It tells how much above the terrain surface the
pavement edge must be in order to apply fill detail (FU or FL). In this particular case, the pavement edge must be
at least 1.1m above the terrain surface to allow application of fill detail. In fact, many of the fill details applied in the
field do not make sense on shallow fills and, up to the certain fill height, cut details must be applied.

The second real number (2.0 in this case) is introduced in GCM2009. In many cases it is hard to decide whether to
apply FILL or CUT detail by comparing elevation of the pavement edge with the terrain surface. It might be much
better to see if the imaginary point offset from the pavement edge (for 2.0m in this case) and set at the same
elevation as the pavement edge, is above or below the ground.

When applied to the pavement LINEs inserted in “empty” cross sections, command APPLYCSC compares
pavement edges (the edges of the pavement LINEs) with the LINEs representing terrain surface and decides which
details to apply, cut or fill details. Terrain LINEs will be the LINEs belonging to the layers listed in the second line
(TRI and TRIROAD layers, in this example).

1-Twolane-road-simple/
/9-EDIT-Section-and-Error-codes 00:52, 03:25
5-Motoray-detailed/
/8-EDIT-Section 07:58
8-CSCi / 1-CSCi-INTRO-2009 --
2-CSCi-FUP-2009 22:06
3-CSCi-FLW-2009 29:00, 30:22
4-CSCi-CUP-AND-CLW-2009 21:51

DRAWSEC0
Command DRAWSEC0 is primarily intended for drafting “empty” cross sections, the sections containing terrain
surface (and existing facilities) only. Subsequently, pavement LINEs will be added to the “empty” cross sections
with PAVE2XSEC command, while the road details will be constructed upon these pavement lines, by calling
command APPLYCSC. So, the vertical span of an “empty” cross section that contains terrain surface only, might
not be enough to accommodate pavement lines and road details that would be added later. Therefore, command
DRAWSEC0 asks you for minimum vertical reserve above and below the centerline which will be enough to
accommodate the elements to be added. And this is the only difference between DRAWSEC0 and the old
DRAWSEC command.

1-Twolane-road-simple/
/0-Preparing-Xsections-to-construct 04:39

PAVE2XSEC
Command PAVE2XSEC adds the pavement LINEs to the “empty” cross sections. You have to specify “*.pav” file
(containing pavement surface data and created with CALCPAVE command) and select the group of “empty” cross
sections. The command draws two pavement LINEs in each of the selected cross sections. Sometimes they are
connected (two lane road) and sometimes they are separated (motorway). These pavement LINEs are not ordinary
LINE entities, but specially attributed LINE entities, recognizable by the commands to be deployed later
(APPLYCSC command).

Be careful not to unintentionally call PAVE2XSEC several times for the same cross sections. Command will draw
two pavement LINEs per cross section after each call. But, command APPLYCSC, that constructs road details
upon the pavement LINEs, recognizes only two pavement LINEs per cross section.

If you want to keep multiple sets of pavement LINEs within cross sections, place them in separate layers and,
59
before calling APPLYCSC command, freeze all the sets but one.

1-Twolane-road-simple/
/2-Calculating-pavement-surface 04:40

APPLYCSC
Command takes “*.csc” file and a group of cross sections. Based on the definitions stored in the file, the command
constructs the road details upon the pavement LINEs found in the selected cross sections.

1-Twolane-road-simple/
/2-Calculating-pavement-surface 06:54
2-Twolane-road-detailed/
/5-EDIT-Section-Completing-CSC 04:20

DRAWSLOPE
DRAWSLOPE command constructs cut and fill slopes. The slopes are constructed from XSTRings, inserted with
APPLYCSC as XSTR blocks.

Just like with the old SLOPE command (GRAD module), you are first asked for “*.fil”, “*.cut” and “*.srf” file. While
“*.fil” and “*.cut” files contain fill and cut slope definitions, “*.srf” file contains the names of the layers. The LINEs
found in the cross section belonging to these layers will be considered as terrain LINEs, or terrain surface. Then
you are asked to pick one XSTR block (from any of the cross sections) and the program records its specific name.
Then, in relation to the selected XSTR block, you are asked to interactively pick the side of the slope, to the left or
to the right from selected XSTRing. While constructing slopes, DRAWSLOPE inserts XSTR blocks along the outer
slope edge. Starting from these positions, you may later construct the ditches, for example. And you are asked for
the name of the outer XSTRing. Finally, you have to select a group of cross sections.

The program then steps through the selected cross sections, takes XSTRings with the same name as the selected
XSTR pattern, and constructs slopes in relation to the terrain LINEs (to the left or to the right from XSTRings).

But, there is one more parameter to be entered, when working with highly detailed cross sections. When working
on final designs, you are very often supposed to construct two slopes along each side of the road, one representing
the top of the turf and one, perhaps 0.2m below, representing the soil itself. When constructing these lower slopes,
cut slopes does not reach the terrain surface, but the surface that lays 0.2-0.3m, or more, below the terrain surface,
depending on the thickness of the organic soil to be removed. So, while calling DRAWSLOPE, you are asked for
this thickness (or vertical offset) too.

While constructing more complex cut and fill slopes, consisting of several segments, besides XSTRing along the
outer edge, DRAWSLOPE inserts XSTRings at each point where change in slope’s grade takes place. The names
of these strings are derived from the name supplied for the outer string.

1-Twolane-road-simple/
/99-Cut&Fill-slopes-construction 00:00
2-Twolane-road-detailed/
/6-Cut&Fill-slopes-Details 00:00

FILLETSLOPE
FILLETSLOPE fillets the outer portions of cut/fill slopes. The command asks you to select the surface (“*.srf” file) in
relation to which the filleting will be calculated. Then you are asked for the tangent length. If working on detailed
cross sections (with separate slopes representing the surface of the turf and the soil itself), the lower cut slopes
should be filleted in relation to the surface representing the removed organic soil, while the filleting of lower fill
slopes should be suppressed.

Then you are asked for XSTRing pattern and for a group of cross sections. The command then steps through the
cross sections and fillets the slopes constructed from the XSTRings with the same name as the selected pattern.
Also, FILLETSLOPE inserts new outer XSTRings along the displaced filleted edge.

Unlike the old FISLLOPE command, FILLETSLOPE can fillet even cut/fill slopes consisting of several segments.

60
1-Twolane-road-simple/
/99-Cut&Fill-slopes-construction 06:40
2-Twolane-road-detailed/
/6-Cut&Fill-slopes-details 06:05
2-Twolane-road-detailed/
/7-Slopes-Turf-Thickness-More-details 00:00

2.15 Group CSC2 (CSC2)


Just as the strings of POINTs are used to mark important features (edges) of the 3D model, Xstrings (XSTR) are
used to label some important positions within the cross sections. Thus, by using Xstrings, you can, for example,
insert the ditches into the cross sections and manipulate them vertically. Also, by using Xstrings, cross sections can
“communicate” with the 3D model, by importing and exporting strings into 3D. The entire CSC2 module is intended
for Xstrings manipulation.

XSTRX
XSTRX takes the XSTRing as a pattern, searches through the selected group of cross sections looking for the
XSTRings with the same name as the XSTR pattern, and sets new XSTRings at the specified X-shift in relation to
them. Optionally, the LINEs will be drawn between the old and newly created XSTRings. Negative X-shift stands
for left, while positive X-shift puts the new XSTRing to the right from the old one.

8-CSC2-Strings&Details/
/1-Ditch-Fence 01:43

XSTRY
XSTRY takes the XSTRing as a pattern, searches through the selected group of cross sections looking for the
XSTRings with the same name as the XSTR pattern, and sets new XSTRings at the specified Y-shift in relation to
them. Optionally, the LINEs will be drawn between the old and newly created XSTRings. Negative Y-shift stands
for down, while positive Y-shift puts the new XSTRing above the old one.

8-CSC2-Strings&Details/
/1-Ditch-Fence 15:29
8-CSC2-Strings&Details/
/2-Retwal-Sidewalk-Widenning 12:11

XSTRSLOPE
XSTRY takes the XSTRing as a pattern, searches through the selected group of cross sections looking for the
XSTRings with the same name as the XSTR pattern, and sets new XSTRings at the specified slope 1:n (positive or
negative) and the specified horizontal distance in relation to them. Optionally, the LINEs will be drawn between the
old and newly created XSTRings. Positive slope means “up”, while negative means “down”. Negative distance
means “left”, while positive distance means “right”.
8-CSC2-Strings&Details/
/1-Ditch-Fence 18:09

XSTRGRADE
XSTRGRADE takes the XSTRing as a pattern, searches through the selected group of cross sections looking for
the XSTRings with the same name as the XSTR pattern, and sets new XSTRings at the specified grade in %
(positive or negative) and the specified horizontal distance in relation to them. Optionally, the LINEs will be drawn
between the old and newly created XSTRings. Positive grade means “up”, while negative means “down”. Negative
61
distance means “left”, while positive distance means “right”.

Just as in CSC language, you are allowed to enter the grade of the left or right side of the pavement, by using
predefined parameters PAVEL or PAVER. You can also use the format PAVEL(min) or PAVER(min) to apply the
cross grade of the particular side of the pavement, but not below the specified minimum. These options are very
handy while adding extensions to the pavement surface.

8-CSC2-Strings&Details/
/2-Retwal-Sidewalk-Widenning 00:38

XSTRINT
XSTRINT takes the two XSTRings as patterns, searches through the selected group of cross sections looking for
the XSTRings with the same names as these patterns, and sets the intersecting grades between them. The
command inserts new XSTRing at the intersecting point and, optionally, draws intersecting grades.

You can also apply PAVEL, PAVER, PAVEL(min) or PAVER(min) for cross grade values. The command is very
handy when widening the layers of the pavement structure.

8-CSC2-Strings&Details/
/2-Retwal-Sidewalk-Widenning 04:02
8-CSC2-Strings&Details/
/2-Retwal-Sidewalk-Widenning 13:58

XSTRLINK
XSTRLINK takes the two XSTRings as patterns, searches through the selected group of cross sections looking for
the XSTRings with the same names as these patterns, and draws LINEs between them.

8-CSC2-Strings&Details/
/2-Retwal-Sidewalk-Widenning 03:31

XSTR2LINE
XSTR2LINE takes the XSTRing as a pattern, searches through the selected group of cross sections looking for the
XSTRings with the same name as the XSTR pattern, and constructs the grade up to the potential intersection with
the LINEs belonging to the specified surface.

It might be said that XSTR2LINE command is not a self-standing command. It makes sense in conjuction with other
commands only. XSTR2LINE is suitable for adding some details between the outer edge of cut/fill slope and the
ditch when the ditch is offset from the slope’s edge.

8-CSC2-Strings&Details/
/1-Ditch-Fence 11:18

XSTRSRF
XSTRSRF takes the XSTRing as a pattern, searches through the selected group of cross sections looking for the
XSTRings with the same name as the XSTR pattern, and moves them vertically up to (or down to) the LINEs
belonging to the specified surface (“*.srf” file). In fact, the command creates the new XSTRings above (or below)
the old ones.

8-CSC2-Strings&Details/
/1-Ditch-Fence 03:08
8-CSC2-Strings&Details/
/2-Retwal-Sidewalk-Widenning 03:31

62
8-CSC2-Strings&Details/
/1-Ditch-Fence 14:13
8-CSC2-Strings&Details/
/2-Retwal-Sidewalk-Widenning 10:05

XSTRTOPSOIL
XSTRTOPSOIL takes the two XSTRings as patterns, asks for the terrain surface (“*.srf” file) and for the thickness
of the topsoil (organic soil) to be removed. Then searches through the selected group of cross sections for the
XSTRings with the same names as the selected patterns and removes the topsoil between them. Of course, when
asked for XSTRing patterns, you should select the XSTRings laying at the outer edges of the cut/fill slopes (the
leftmost and the rightmost string of the entire road structure).

2-Twolane-road-detailed/
/6-Cut&Fill-slopes-details 11:09

XSTRSTEP
XSTRSTEP is a very specific command, extremely useful when accurately manipulating the vertical geometry of
the ditch. First, you must step into the particular cross section and identify specific XSTRing. Then, you tell the
program what is the definition of the inner side (inner face) of the ditch at that point (cross slope and width, in
relation to the selected XSTRing). Then the program steps through the selected cross sections (back and forth in
relation to the starting cross section) and searches for XSTRings with the same name as the selected pattern.
Starting from each of these XSTRings, the program constructs the inner side of the ditch, but (!), keeping the lower
ends of these sides at the specific longitudinal grade through the cross sections.

Usually, the XSTRings from which the side of the ditch is constructed, are positioned along the outer edge of the fill
slope. By using XSTRSTEP, the inner side of the ditch is constructed (the side closer to the fill slope). Set at proper
longitudinal grade, the lower edge of the ditch side serves as a base for the construction of other elements of the
ditch. These other elements are the bottom and the outer side.

8-CSC2-Strings&Details/
/1-Ditch-Fence 05:27

XSTRBLOCK

XSTRBLOCK takes the XSTRing as a pattern, searches through the selected group of cross sections looking for
the XSTRings with the same name as the XSTR pattern, and inserts specified blocks at XSTRing positions. The
command is handy for inserting various details into the cross sections.

8-CSC2-Strings&Details/
/1-Ditch-Fence 16:41

XSTRTMPL

XSTRTMPL takes the XSTRing as a pattern, searches through the selected group of cross sections looking for the
XSTRings with the same name as the XSTR pattern, and inserts template definitions (definitions stored in “*.tmp”
files) at XSTRing positions. The functionality is similar to XSTRBLOCK.

8-CSC2-Strings&Details/
/2-Retwal-Sidewalk-Widenning 06:40

XSTRIN

XSTRIN takes 3D string of POINTs (“*.str” file) generated with 3DMODEL or 3DDYN command. The program
analyses the POINTs (as they are attributed with the station attribute) and inserts them in corresponding cross
63
sections as XSTRings.

8-CSC2-Strings&Details/
/3-XSTR-In&Out-3D-Out 06:20

XSTROUT

XSTROUT takes selected XSTRing from a selected group of cross sections and exports it into 3D as a classic
string of POINTs, both generating the POINT entities and creating “*.str” file.

The strings exported from cross sections serve as a base of generating the 3D model.

8-CSC2-Strings&Details/
/3-XSTR-In&Out-3D-Out 00:00

XSTRROW

XSTRROW takes two 3D strings (“*.str” files) and creates a row of 3D triangles between them (the same 3D
composition as the one generated with 3DMODEL or 3DDYN command). If you are generating the row
representing the cut or fill slope, you can even turn on the ticks (the same ones as with SLOPE command).

8-CSC2-Strings&Details/
/3-XSTR-In&Out-3D-Out 04:03

2.16 Group CSCi (CSCi)


This group supports graphical definition of CSC details. Commands from this group enable a much faster definition
of road details and creation of “*.csc files” than it had been possible with GCM2006. In general, by using
PAVESYMBOL command a symbolic pavement is drawn. Around its right edge, by using CSCPOINT, CSCLINE,
CSCBLOCK and CSCSTRING the details are created. Points, lines, blocks and strings are inserted in the same
way as they had been coded manually in GCM2006.

For example, LINEs could be shifted or offset from other LINEs. They may also depart from a selected POINT or
LINE (Start or End). Once started, the LINE might end at the selected POINT, or it can go on for a specified
distance measured in X or Y direction. It may also run for a specified distance at the specified slope or grade (the
grade could be expressed in relation to the pavement grade). The LINE may end at the ENDpoint or STARTpoint of
another LINE, or it may extend to the intersection with another LINE. When heading to the intersection with another
LINE, the LINE may be either at the specified slope or grade (related to the pavement grade or at the fixed grade).
Practically, all elements of CSC syntax introduced in GCM2006 got their graphical response in GCM2009.

While interactively drafting POINTs, LINEs, BLOCKs and STRINGs surrounding the pavement edge, all these
elements are actually drafted and special blocks are attached to them. These are the simple blocks attributed with
the number of the element (POINT, LINE, BLOCK or STRING number) and the CSC syntax. In other words, the
second attribute is the large one, containing full CSC syntax of the element to which the block is attached.
Absolutely the same syntax as if the element had been coded manually.

After graphically creating CSC detail (by using CSCPOINT, CSCLINE, CSCBLOCK and CSCSTRING command)
around the symbolic pavement edge (inserted with PAVESYMBOL command), the detail in concern is finally
defined with one of the following commands: MUDETAIL, MLDETAIL, FUDETAIL, FLDETAIL, CUDETAIL and
CLDETAIL, depending what kind of CSC detail you are about to define. These commands create “*.mup”,
“*.mlw”,”*.fup”, “*.flw”, “*.cup” and “*.clw” files. In essence, these detail definition commands do not select the exact
details you have drawn, but only the blocks attached to them, those attributed with the CSC sequences. By putting
these CSC sequences in the right order,*DETAIL commands create the files that are identical to MU, ML, FU, FL,
CU or CL sections of the classic CSC files. Vertical exaggeration has no effect on drafting of CSC details.

To test the validity of the files you can engage CSCIN command. Select “*.mup”, “*.mlw”,”*.fup”, “*.flw”, “*.cup” or
“*.clw” file and the detail stored in the file will be drawn around selected pavement symbol (inserted with
PAVESYMBOL command).

64
Finally, by using MAKECSC and MAKECSCM commands you can modify (partially or completely) the selected
“*.csc” file. The “*.csc” file acts as a template, and by selecting “*.mup”, “*.mlw”,”*.fup”, “*.flw”, “*.cup” and “*.clw”
files, you can replace all or some of the MU, ML, FU, FL, CU and CL sections within the selected “*.csc”.
MAKECSC is intended for two lane roads, while MAKECSCM is intended for motorways, asking for MU and ML
details.

PAVESYMBOL

Command inserts a pavement symbol around which CSC details are graphically arranged. A pavement symbol
consists of a LINE and block named CSC-PAVE-EDGE. The LINE is drawn with the specified width and is set at
the specified grade. The LINE presents the pavement surface. It is drawn from left to right, with the block
representing the right pavement edge placed at its right end. In essence, all CSC elements are added around right
pavement edge, by using commands CSCPOINT, CSCLINE, CSCBLOCK and CSCSTRING. FU and CU details
are usually drawn around a pavement symbol pointing up (positive grade), while FL and CL details are drawn
around the right edge when it is in the lower position (negative grade).

8-CSCi / 1-CSCi-INTRO-2009 00:48


2-CSCi-FUP-2009 00:27
3-CSCi-FLW-2009 --
4-CSCi-CUP-AND-CLW-2009 10:32, 20:27

CSCPOINT

CSCPOINT inserts CSCPOINT in a graphical way, by using the options derived from genuine CSC syntax. First,
you must enter the point number. The CSCPOINT object could be inserted at the start or end of the already drawn
CSCLINE, at the intersection of two already drawn CSCLINEs, at the coordinates entered numerically or selected
graphically somewhere around the right pavement edge. CSCPOINT could also be inserted in relation to the
already inserted CSCPOINT, at the specified lateral offset and at the specified grade (%) or slope (1:n). The grade
could be entered numerically, or related to the grade of the pavement surface. Each time you are about to insert
CSCPOINT, you must select a block. If you are positioning CSCPOINT in relation to an already drawn CSCPOINT,
you are supposed to select its CSCPOINT block. If you are inserting CSCPOINT in relation to CSCLINE or
CSCLINEs (attaching the point to the start or end of a CSCLINE, or at the intersection between two CSCLINEs),
you must select the blocks attributing these CSCLINEs (the ones containing long CSC sequence attributes). To get
a better view of the detail you are working on, you can freeze the attribute layer. If you are inserting CSCPOINT
freely (by entering coordinates manually, or by interactively selecting position), you must pick the pavement symbol
first, just to identify CSC detail you are working on.

8-CSCi / 1-CSCi-INTRO-2009 00:48


2-CSCi-FUP-2009 01:23, 15:52
3-CSCi-FLW-2009 22:39
4-CSCi-CUP-AND-CLW-2009 00:32, 03:02

CSCLINE

CSCLINE draws CSCLINEs , by using the options derived from genuine CSC syntax. CSCLINE could be offset
from existing CSCLINE or shifted in X or Y direction. CSCLINE could be drawn from already inserted CSCPOINT,
or from already drawn CSCLINE (from start or end).

Once started, it could extend for a specified distance in X or Y direction, It could extend from the defined starting
point laterally at a specific grade (%) or slope (1:n). It could also end at a selected CSCPOINT, or at the end or
start of a selected CSCLINE. It can also extend (at the specified grade or slope) to the intersection with the
selected CSCLINE.

When specifying grade, you can define it numerically, or relate it to the pavement grade. When relating the grade to
the grade of the pavement surface, you can force it to be parallel to the pavement surface, or make it parallel with
certain limitations (for example, parallel with the pavement surface, but not less than 4%).
65
When specifying the span of the line (width, in road cross section terms), you can specify this span in relation to the
width of the pavement: extend the CSCLINE to the opposite edge of the pavement, less 0.3m (while identifying the
opposite marginal lane whose width is 0.3m), to the midpoint of the pavement etc.

Practically the grade/width options are identical in CSCPOINT and CSCLINE.

While identifying CSCPOINTs and CSCLINEs in relation to which you are currently drawing new CSCLINE, you
must select them by picking their blocks.

Before all other parameters, you must enter the CSCLINE number, The current layer is extremely important. It is
not only the layer of the LINE you are about to draw, but the name of this layer is incorporated in CSC syntax
attribute, attached to this LINE.

8-CSCi / 1-CSCi-INTRO-2009 00:48


2-CSCi-FUP-2009 02:43, 04:56, 05:40, 07:14, 08:06, 09:09,09:56, 10:43, 11:57, 12:39
13:29, 14:17, 16:57, 18:25
3-CSCi-FLW-2009 08:50, 10:19, 11:12, 12:04, 13:04, 13:39, 14:55, 15:56, 18:55, 19:50
20:57, 21:37
4-CSCi-CUP-AND-CLW-2009 04:40, 05:32, 06:04, 06:30, 07:17, 08:04, 08:31, 10:31, 15:44, 16:11
16:49, 19:00

CSCBLOCK

CSCBLOCK inserts a block into the CSC detail constructed around the pavement symbol. The block is selected
from the list of available blocks (existing within the drawing). CSCBLOCK could be attached to the already inserted
CSCPOINT only. The rotation of the block could be entered as a real number, defined by picking two existing
CSCPOINTs, or related to the grade of the pavement surface.

8-CSCi / 1-CSCi-INTRO-2009 00:48


2-CSCi-FUP-2009 --
3-CSCi-FLW-2009 --
4-CSCi-CUP-AND-CLW-2009 01:03, 02:01, 11:42

CSCSTRING

CSCSTRING inserts CSCSTRING. After entering the number of the string, you are supposed to select the
CSCPOINT block to which CSCSTRING is attached.

8-CSCi / 1-CSCi-INTRO-2009 00:48


2-CSCi-FUP-2009 19:20
3-CSCi-FLW-2009 --
4-CSCi-CUP-AND-CLW-2009 04:11

CSCIN

After creating “*.mup”, “*.mlw”,”*.fup”, “*.flw”, “*.cup” and “*.clw” files (defining MU, ML, FU, FL, CU and CL details),
you can test their validity by using CSCIN command. The command asks you to select the pavement symbol and
draws the selected CSC detail around its right edge. The command draws the detail and puts all CSC blocks, just
as if the detail had been drawn with CSCPOINT, CSCLINE, CSCBLOCK and CSCSTRING commands. This
enables the user to derive new CSC detail from the one inserted with CSCIN. It is possible to remove some of the
elements inserted with CSCIN and add new ones with CSCPOINT, CSCLINE, CSCBLOCK and CSCSTRING.

It is normal to test the validity of *U details (MU, FU, CU) on the pavement symbol pointing upward (positive grade),
and the validity of *L details (ML, FL, CL) on negative grades. But, you can insert *U details on downgrades and
vice versa. Many of the CSC elements fit nicely both in *U and correspondent *L details. So, if you have drawn FU
detail first, you may start developing FL by rearranging FU detail inserted around the pavement symbol pointing
downward.

8-CSCi / 1-CSCi-INTRO-2009 07:52


2-CSCi-FUP-2009 20:37, 21:34
3-CSCi-FLW-2009 00:15, 26:43
4-CSCi-CUP-AND-CLW-2009 09:41, 10:48, 19:50, 20:41
66
MUDETAIL

MUDETAIL command defines MU detail and stores it in “*.mup” file. The command selects CSC blocks inserted
while drawing CSC elements with CSCPOINT,CSCLINE, CSCBLOCK and CSCSTRING commands, reads CSC
sequences from their attributes, places these sequences in the right order and writes them into “*.mup” file.

8-CSCi / 1-CSCi-INTRO-2009 07:20

MLDETAIL

The same functionality as MUDETAIL, except it is intended for ML detail and creates “*.mlw” file.

8-CSCi / 1-CSCi-INTRO-2009 07:20

FUDETAIL

The same functionality as MUDETAIL, except it is intended for FU detail and creates “*.fup” file.

8-CSCi / 2-CSCi-FUP-2009 20:02

FLDETAIL

The same functionality as MUDETAIL, except it is intended for FL detail and creates “*.flw” file.

8-CSCi / 3-CSCi-FLW-2009 26:15

CUDETAIL

The same functionality as MUDETAIL, except it is intended for CU detail and creates “*.cup” file.

8-CSCi / 4-CSCi-CUP-AND-CLW-2009 09:016

CLDETAIL

The same functionality as MUDETAIL, except it is intended for CL detail and creates “*.clw” file.

8-CSCi / 4-CSCi-CUP-AND-CLW-2009 20:11

MAKECSCM

MAKECSCM creates “*.csc” file from “*.mup”, “*.mlw”,”*.fup”, “*.flw”, “*.cup” and “*.clw” files containing MU, ML, FU,
FL, CU and CL details. The command first asks you to select files with the details and then asks for two “*.csc” file
names. The first “*.csc” is an existing file serving as a template file, while the second one is the name of the file you
are about to create.

If you answer with “Cancel” when asked for a file containing specific detail, the adequate section of the template
“*.csc” file (MU, ML, FU, FL, CU or CL) is transferred as it is to the new “*.csc” file. If you select exact file (“*.mup”,
“*.mlw”,”*.fup”, “*.flw”, “*.cup” and “*.clw”), then this definition of a particular CSC detail would enter the new “*.csc”
file and not the one stored in a template file.

MAKECSCM is intended for the creation of motorway CSC files (containing MU and ML section).

NO MOVIES FOR THIS COMMAND

67
MAKECSC
The same functionality as MAKECSCM command, except it does not ask for “*.mup” and “*.mlw” files. As the
command does not manipulate MU and ML details, it is intended for the “*.csc” files dealing with two lane roads.

8-CSCi / 1-CSCi-INTRO-2009 --
2-CSCi-FUP-2009 22:06
3-CSCi-FLW-2009 21:57
4-CSCi-CUP-AND-CLW-2009 09:16, 21:09

PAV2STR
Though not 3D oriented, the command supports quick modeling of the pavement surfaces calculated with
CALCPAVE and stored in “*.pav” files. The command takes “*.pav” file and generates 3D strings of all four
pavement edges along the selected centerline (“*.hcl” file). Generated strings are automatically given the names
based on the specified prefix, with addition of “-lo”, “li”, “-ri” and “-ro” as synonyms for left-outer, left-inner, right-
inner and right-outer string. On two lane roads left-inner and right-inner strings coincide.

Once generated with PAV2STR command, the strings could be connected with paired triangles (XSTRROW
command), providing the base for the generation of pavement grading plans.

5-CSCi / 5-CSCi-XSTR-2009 00:00

XSTRDENSE
The strings generated by using PAV2STR command, or exported from the cross sections, by using XSTROUT
command (CSC2 group) may be too coarse for the appropriate 3D definition of the pavement surface. In fact, both
these commands generate the POINTs only at the cross sections’ locations.

If you need finer string, the string defined at each 5m along the centerline, and you have cross sections at 20m
intervals, for example, you must deploy XSTRDENSE command.

The command is similar to XSTROUT command (from CSC2 group). Besides the XSTRings from drawn cross
sections and the “*.hcl” file, XSTRDENSE also asks for a stationing step of the string and for a “*.vcl” file. The
command exports XSTRings in 3D placing them along the specified centerline. At the intermediate steps (between
the cross sections’ stations), lateral offsets of string POINTs are calculated as linear interpolation between the
previous and following cross section. String elevations are calculated by applying vertical offsets (in relation to the
centerline) interpolated between the successive cross sections to the exact elevations calculated from selected
“*.vcl” file.

5-CSCi / 5-CSCi-XSTR-2009 05:22

PAVELINE
Sometimes, you may want to apply SCC concept on cross sections extracted from the 3D model generated with
3DMODEL or 3DDYN commands. CSC concept requires two and only two special pavement lines (for both sides of
the pavement) present in every cross section. These pavement lines are taken from “*.pav” files and imported into
cross sections by PAVE2XSEC command.

Now, you can draw these lines manually, with PAVELINE command. After selecting the cross section you are
working with, you are allowed to draw only two pavement lines.

8-CSCi / 6-CSCi-PAVELINES 00:00

XPAVELINE
If you have cross sections where two and only two LINEs representing pavement surface are extracted from the
model (CALCSEC) and placed into the cross sections (DRAWSEC, DRAWSEC0) and if these two LINEs belong to

68
a specific layer, by using XPAVELINE command, you can convert all these LINEs (the LINEs belonging to a
specific layer) into special pavement lines. Just select layer pattern for the LINEs and a group of cross sections.

8-CSCi / 6-CSCi-PAVELINES 03:00

2.17 Group GCMTAB (GCMTAB)


The commands from this group are intended for exporting coordinates, cross-sections data, profiles data, quantities
and volumes, by using new tabular form.

TABENZ

By using new graphical format, TABENZ tabulates coordinates of coding blocks. The functionality is the same as
for TABLECOORDS command (or old TABLE command).

1-tab 00:00

TABPROF

TABPROF tabulates longitudinal profiles data. Command asks for a “*.vcl” file (vertical alignments definition), “*.sta”
file (containing special stations), the starting and ending station for the table, stationing interval and precision. Then
tabulates profile data, most of them being elevations (calculated at constant intervals and at the special stations).

1-tab 01:42

TABXSEC

Command TABXSEC tabulates the data retrieved from a selected “*.sec” file. The table generated, contains the
detailed data on the location of each cross section stored in the selected “*.sec” file.

1-tab 02:43

TABQTT

TABQTT is modified QUANTITIES command. It takes quantity inscriptions created with LBLSEC command and,
instead of writing them in “*.qtt” file, creates the table within the drawing.

1-tab 04:58

TABVOL

TABVOL does absolutely the same as TABLEVOL command. It tabulates volume data taken from the selected
subsites, but uses new graphical format.

1-tab 06:20

69

You might also like