Back to The Complete Knuckleheads Guide

DRAW ANCILLARY DATA ON CROSS SECTIONS

It is possible to also use the intelligence of Geopak to draw special characters on your cross sections such as cells and/or text nodes.  If the position of a feature is drawn in plan view, such as Proposed Right-of-Way or Edge of Water .... it is very easy to have (for example) a "user defined" cell (representing the location of the Right-of-Way) drawn on the cross sections.  It is just as easy to have a piece of vertical text placed with an arrow pointing to the location of Edge of Water on the cross sections.

We have 3 files that can be modified to fit specific situations to do just that:

NOTE:  Criteria file shown below, (R_W_R.x10) is for use on the RIGHT side only.  The criteria file for placing the cell and text on the left is R_W_L.x10.  See "include" statements in New_anci.inp below.

The "search text" is a new added feature (to the criteria) that can be used later for creating radial stakeout notes in a variety of formats.  The most popular format is with the Red/Blue Top reports using Geopak 2001, where the user can store points in COGO at each of the found "search text" locations.  An output of these stored points can then be produced in COGO.


Rather than try and anticipate every situation that the user may encounter, the approach taken here was to create a criteria file that places a cell with "search text" and a criteria file that places some text.  Also to create an input file setup to work with each.  Now... if a user wanted to draw a power pole on the cross sections rather than a right-of-way stake cell, the criteria file (R_W_R.x10) would simply be copied and modified to place a power pole cell with different"search text" and the input file would be modified to look for a line drawn in the plan file that represented the power line.

Same goes for the other criteria file.  If someone had drawn elements (in the plan file) representing the edge of an archeological site, the criteria file (Water.x09) would simply be copied and modified to place a text node that would say for example, "<--Edge of Archeological Site" and the input file would be modified to look for a line drawn in the plan file that represented it.

Note:  When placing a cell on the cross sections, the cell library containing the cell must be attached to the cross section file.
Your results may look similar to the example shown below:



Examples of the 3 files mentioned above are shown below:

New_anci.inp

XSECTION

/* THIS INPUT FILE IS USED TO DRAW A "CELL" (RWSTAK) REPRESENTING    */
/* THE RIGHT OF-WAY AND VERTICAL "TEXT" REPRESENTING THE EXISTING  */
/* EDGE OF WATER ON THE CROSS SECTIONS.  THIS INPUT FILE AND IT'S     */
/* TWO CRITERIA FILES REPLACE THE OLD METHOD USING THE ANCILLARY */
/* DATA INPUT FILE.  5-17-2001  S. PRATT                                                            */


define_dgn "RIGHT OF WAY" \
        dgn = ancil.dgn\
        lv = 46 \
        co = 9\
        type = Line, Line_String, Arc, Curve, cmp_string

define_dgn "EDGE OF WATER" \
        dgn = ancil.dgn \
        lv = 5 \
        co = 4\
        type = Line, Line_String, Arc, Curve, cmp_string

Proposed xs
 
tolerance = 0.03000
 
 
xs dgn = ANCILXS.dgn
Existing ground line
        type = line, line_string
        lv = 56
        co = 6
 
Pattern dgn = ancil.dgn 
    pattern set
        job number = 999
        baseline = HA
        type = line, line_string
        lv = 50
        co = 0
 
Criteria for Shape Cluster
   shape cluster baseline = HA
   shape cluster profile  = PR
   shape cluster tie      = 0.000
 
    side slope LT
        include R_W_L.X10
        include WATER.X09

    side slope RT
        include R_W_R.X10
        include WATER.X09
 
Plot Parameters
 
    Pavement Thickness = 0.0
    do not fill gaps between clusters
        Line
            lv = 61
            co = 3
            wt = 1
            lc = 0
 
    Apply all trans def
    Do Not Intersect between Clusters
 
Write XS Into Dgn = ANCILXS.dgn

R_W_R.x10

/* This criteria draws the cell RWSTAK on existing ground     */
/* after finding an element drawn in the plan file that       */
/* corresponds to the symbology for "Right of Way" in the     */
/* input file NEW_ANCI.INP                                    */

/* NOTE:  This cell's library MUST be attached to the XS file */

/* Written by Dean Bowman & the IHDS team 5/97                */
/* Modified by S. Pratt to also draw text for XYZ at R/W 5/2001 */


if p1 then
{
_d_flag = 1
while (_d_flag = 1)                            
   {
   if intersect dgn = "right of way"  then
      {
      draw skip dx = 1 dy= 0 to "right of way"
      
      draw skip dx = 0 dy= 100
      draw skip dx = 0 dy= -1 to existing ground

      draw cell=RWSTAK
          xs = 0.10
          ys = 0.10
          angle = 0
	    lv = 17
	    co = 08
	    wt = 2
	    
      draw text char = ^RWR^
      angle = 0  
      co = 4                       
      wt = 1                       
      cl = 1                       
      ft = 24                       
      th = 0.05                  
      tw = 0.05                  
      just = cc
      
      draw skip dx =2*tolerance dy = 0
      }
   else
      {
      _d_flag = 0

      draw skip to p1

      }
   }
}

Water.x09

/* This criteria draws vertical text on existing ground    */
/* after finding an element drawn in the plan file that    */
/* corresponds to the symbology for "Edge of Water" in the */
/* input file NEW_ANCI.INP                                 */


/* Written by Dean Bowman & the IHDS team 5/97             */

if p1 then
{
_d_flag = 1
while (_d_flag = 1)                            
   {
   if intersect dgn = "edge of water"  then
      {
      draw skip dx = 1 dy= 0 to "edge of water"

      draw skip dx = 0 dy= 100
      draw skip dx=0 dy=-1 to existing ground
      draw text char = ^<--Edge of Water^
      angle = 90  
      co = 4                       
      wt = 1                       
      cl = 1                       
      ft = 24                       
      th = 0.5                  
      tw = 0.5                  
      just = lc

      draw skip dx =2*tolerance dy = 0
      }
   else
      {
      _d_flag = 0

      draw skip to p1
      }
   }
}

Back to The Complete Knuckleheads Guide