where shall i have to modify marco/input to get the vertical schematic in longitudinal section?

Dear All,

I have created longitudinal section using input Marco. I am getting the following output as attached. 

I want to display the vertical schematic instead of vertical geometry details on top. please guide me where shall i have to change the macro to get the vertical schematic. I am attaching the macro and input for your reference

Thanks in advance

Regards

Hari Krishna Palla

Parents Reply Children
  • Hi Mr. Marnell,

    Thank you very much for reply. I got the vertical schematic. I want to display the K value instead of Radius in vertical schematic and also i want to delete the vertical geometry details which are shown in the top of LS. Please help in where i have to modify the input.

    Thanks in advance

    Regards

    Hari Krishna Palla

  • Dear Mr. Marnell,

    Thanks for your reply. I did not get proper solution from mention link. The following macro i have used to get vertical schematic with Radius for your reference.

           #Draw Vertical Schematic Diagram
    &VAD&809,HTPS
    &VAD&846,&LG&,,V001,,&XS&,&YS&,-34,&XE&,&YE&

    000    VAD   Vertical schematic diagram code                   000

    Please help to write the macro to get he K value in vertical schematic.

    Thanks in advance

    Hari Krishna Palla

  • Here is an example input file that shows one method to annotate the K value. Please work through it carefully so you understand what it is doing, and then amend your macro to use the technique in the macro. I could not upload the file, so I have had to paste the commands instead.

    //
    // Some more notes on this workaround for anntating the k-value:
    //===========================================================================
    // MX always stores the M-VALUE in the g-string, not the vertical radius and
    // not the k-value.
    // Depending on your project settings, you can report the k-value, e.g. using
    // REPORT,992 (string points), but the data which is stored in the g-string
    // is still the M-VALUE.
    // The MXExplorer for example will always show the m-value when you look at
    // the points of the g-string.
    //
    // The relations between M-value, vertical radius and k-value are as follows:
    // Vertical Radius = 10000 / M-value
    // Vertical Radius = 100 * k-value
    // k-value = Vertical Radius / 100
    // k-value = 100 / M-value
    // M-value = 10000 / Vertical Radius
    // M-value = 100 / k-value
    //

    //<a>-- Copy/create strings in a model to draw the profiles --</a>

    // Create a dedicated model to store all required strings for the
    // profile drawing
    DELETE LSECTIONS
    CREATE LSECTIONS

    // copy strings from the design model into the LSECTIONS model
    COPY,MX TUTORIAL DESIGN,LSECTIONS
    // Copy m-string, g-string and carriageway edges
    060,mc10
    060,gc10
    060,ce10
    060,ce1i
    //===========================================================================
    // Copy the g-string a second time and modify the m-value so that the
    // k-value get's annotated;
    // This is done by using a scale transformation of dimension 8 of the
    // g-string (m-value) by a factor of 100;
    // Please note that this 2nd copy of the g-string is ONLY used for annotating
    // the k-values; You can't use it for annotating other vertical geometry,
    // because you are changing the geometry / m-value !!!
    059
    059,1=SCAL,4=8,5=100
    // this copy of 'gc10' will be automatically renamed to 'gc11'
    060,gc10
    // reset transformation
    059
    //===========================================================================
    999

    // section the existing ground triangulation
    SECTION,TRI TUTORIAL GROUND,LSECTIONS
    SECTION,LSECTIONS
    177,mc10,tx00,ls10
    999

    //<a>-- Create a new empty profile drawing --</a>

    // open a temporary drawing
    NEWDPF,Temp.dpw

    // Delete a possibly existing drawing
    SUBS
    SYSDEL,ProfileDrawing.DPF
    SYSDEL,ProfileDrawing*.DWG
    SYSDEL,ProfileDrawing*.DGN
    999

    // Create the new empty drawing
    NEWDPF,ProfileDrawing.DPF

    //<a>-- Draw the profile drawing --</a>

    //
    // Because all strings are now in the LSECTIONS model, you don't need to
    // specify a reference model, just the LSECTIONS model is enough.
    //
    // Using this LSECTIONS model for the profile drawing has the additional
    // advantage that you don't modify your orginal design data when you modify
    // the g-string;
    //

    DRAW,LSECTIONS

    // pgae setup
    800,4=1,2
    802,5=2,1,8=2,1
    803,long,page,notr,4=1,7=2500,9=3,10=250
    804,long,3=mc10,5=0,,8=1077.941

    // draw the m-string in red
    805,2
    810
    826,mc10,mc10,5=0,8=1077.941

    // draw the existing ground in green
    805,3
    810
    826,ls10,mc10,5=0,8=1077.941

    // draw the carriageway edges in yellow
    805,6
    810
    826,ce10,mc10,5=0,8=1077.941
    826,ce1i,mc10,5=0,8=1077.941


    // display the g-string as a grey dashed line
    805,10
    806,10
    810,DASH,,,,0.1,0.1,,0.1,0.1
    809,VIPS
    826,gc10,mc10,5=0,8=1077.941

    // annotate distance and gradient between VIPs
    // -21 - Plan distance between Adjacent Points
    // -23 - Percentage Gradient between Adjacent Points
    808,4=0.13,3,1.0
    809,VIPS,ONES,7=0.1
    858,gc10
    001,&-21&m
    809,VIPS,ONES,4=13,7=-0.1
    858,gc10,d001
    001,&-23&%


    // draw a symbol @ VIPS
    805,1
    806,1
    809,VIPS
    863,gc10,2=2,10=0
    // annotate level and chainage @ VIPS
    808,,n 4,,0.13,3,1
    809,VIPS
    869,gc10,d000,4=4,7=0.1,10=270
    808,4=0.13,3,1
    809,VIPS
    869,gc10,d001,4=3,7=0.1,10=270


    // draw a symbol @ VTPS
    805,2
    806,2
    809,VTPS
    861,gc10,vertarro,4=0.4,10=270
    // annotate level and chainage @ VTPS
    808,,n 4,,0.13,3,1
    809,VTPS
    869,gc10,d000,4=4,7=0.1,10=270
    808,4=0.13,3,1
    809,VTPS
    869,gc10,d001,4=3,7=0.1,10=270


    // draw a symbol @ VFPS
    805,6
    806,6
    809,VFPS
    861,gc10,vxarrow,4=0.2,10=270
    // annotate level and chainage @ VFPS
    808,,n 4,,0.13,3,1
    809,VFPS
    869,gc10,d000,4=4,7=0.1,10=270
    808,4=0.13,3,1
    809,VFPS
    869,gc10,d001,4=3,7=0.1,10=270


    // draw a symbol @ VMOS
    805,5
    806,5
    809,VMOS
    863,gc10,2=4,4=0.1,10=0
    // annotate level @ VMOS
    808,4=0.13,3,1
    809,VMOS
    869,gc10,dc00,4=3,7=0.1,10=270


    // define boxes for annotation
    805
    806
    808
    810
    845,,CC,DAT,,,,-7.6,,0.0,1.0
    845,BBL,CL ,bt01,,,,-7.6,,-1.0,1.0
    845,BBL,CL ,bt02,,,,-7.6,,-2.0,1.0
    845,BBL,CL ,bt03,,,,-7.6,,-3.0,1.0
    845,BBL,CL ,bt04,,,,-7.6,,-4.0,1.0
    845,BBL,CL ,bt05,,,,-7.6,,-5.0,1.0
    845,BBL,CL ,bt06,,,,-7.6,,-6.0,1.0

    845,BBL,BCPL,ba01,,,,,,-1.0,1.0
    845,BBL,BCPL,ba02,,,,,,-2.0,1.0
    845,BBL,BCPL,ba03,,,,,,-3.0,1.0
    845,BBL,CL ,ba04,,,,,,-4.0,1.0
    845,BBL,CL ,ba05,,,,,,-5.0,1.0
    845,BBL,CC ,ba06,,,,,,-6.0,1.0


    // put text into the titleboxes
    806,3
    808,,4=0.25,6=1

    847,*,,bt01,,,,,,,0.0
    001,PROPOSED ROAD LEVEL
    847,*,,bt02,,,,,,,0.0
    001,EXISTING GROUND LEVEL
    847,*,,bt03,,,,,,,0.0
    001,VERTICAL ALIGNMENT
    847,*,,bt04,,,,,,10=0.0
    001,HORIZONTAL ALIGNMENT
    847,*,,bt05,,,,,,,0.0
    001,SUPERELEVATION (%)
    847,*,,bt06,,,,,,,0.0
    001,PROPOSED CHAINAGE

    // show values/diagrams in the annotation boxes
    848,mc10,,DATM,,,,-9.0
    847,*,,DAT,,,,,,,0.0
    001,LEVEL DATUM = &DATM&m

    // set font for standard boxed annotation
    808,,,,0.13,3,1.0

    // design levels
    805,2
    806,2
    846,mc10,mc10,ba01,10,5=0,,3,8=1077.941,10=-90

    // design chainages
    846,mc10,,ba06,4=10,5=0,7=4,8=1077.941,10=-90

    // existing ground levels
    805,3
    806,3
    846,ls10,mc10,ba02,,5=0,,3,8=1077.941,10=-90

    // horizontal alignment diagram
    805,6
    806,6
    808,, 0,,0.18,2,1
    809,HTPS
    701,gc10,,ba03
    711,gc10,,HLIN

    721,gc10,LINE,10=90
    721,3=tva2,4=-43
    001,Ls=&tva2&

    721,gc10,LINE,I000,10=90
    721,3=tva4,4=-44
    001,R=&tva4&

    721,gc10,LINE,I001,10=90
    721,3=tva5,4=-45
    001,Lc=&tva5&

    721,gc10,LINE,10=90
    721,3=tva6,4=-40
    001,Straight L=&tva6&

    731,gc10,,BOX

    // add chainages at HTPS
    808,,n 40,,0.13,0,1
    809,HTPS
    846,gc10,mc10,ba03,5=0,7=4,8=1077.941,10=-90


    // vertical alignment diagram
    805,5
    806,5
    808,,n 00,,0.18,0,1

    701,gc10,,ba04
    711,gc10,,VLIN,0.1

    721,gc10,,10=90
    721,3=grln,4=-40
    001,L=&grln&m

    808,,n 0 ,,0.18,3,1
    721,gc10,,i001,10=90
    721,3=g,4=-23
    001,G=&g&%

    731,gc10,,BOX

    721,gc10,,i001,10=90
    721,3=grrl,4=-45
    001,Lv=&grrl&m


    //===========================================================================
    // Annotate the "radius" - but because the m-value has been changed,
    // the value which gets annotated is the k-value, not the radius;
    // This is the ONLY place where you must use this copy of the g-string;
    // So in this example, use 'gc11' not 'gc10';
    701,gc11,,ba04
    721,gc11,LINE,I000,10=90
    721,3=tva7,4=-53
    001,K=&tva7&
    //===========================================================================


    // add chainages at VTPS
    808,,n 40,,0.13,0,1
    809,VTPS
    846,gc10,mc10,ba04,5=0,7=4,8=1077.941,10=-90


    // draw superelevation diagram
    805,6
    806,6
    808,,,,0.18,2,1.0
    846,SUPE,,ba05,7=-36
    846,mc10,ce1i,ce10


    // draw some ordinates
    805,10
    810
    849,mc10,,vf,10,5=0,7=0.0,8=1077.941


    // reset colours etc... to default values
    805
    806
    808
    810
    999

    // Dislpay the profile
    DISPLAY


    // Delete the temp drawing
    SUBS
    SYSDEL,Temp.DPF
    SYSDEL,Temp.DWG
    SYSDEL,Temp.DGN
    999

    FINISH
    *