Existing Cross Level Using Regression Report Menu

Hi all

 

I was wondering if someone could help,

 

I am trying to display the existing cross level of a single track using the Regression Report Menu.

 

I know that the Regression Report Menu is normally used for 6fts, however on this occasions i just want to display the cross level of a single track.

 

I can get Power Rail to display the existing cross levels in a table (like annotate profile) however, the existing cross levels change from left rail being high and then to the right rail being high and back again etc but Power Rail does not append a +ve or -ve to the cross levels it just displays the cross level value.

 

I was wondering if there is any way I can get Power Rail to append a +ve or -ve to the crosslevels within the Regression Report menu?

 

Any help will Be greatly appreciated.

 

Thanks

Parents
  • You should customize xsl file. you create a condition (using if..) when left rail level higher then right + else -. I attached a file, i customized, It's working with geometry so try it with regression.

    Zaher

    Sorry I can't attache the file so copy/past to text file then save as xls format:

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.1" xmlns:xsl="www.w3.org/.../Transform" xmlns:fo="www.w3.org/.../Format" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:inr="mycompany.com/mynamespace">
        <xsl:include href="../format.xsl"/>
        <xsl:param name="xslRootDirectory" select="inr:xslRootDirectory"/>
        <!-- Cant List Report -->
        <xsl:template match="/">
            <xsl:variable name="gridOut" select="inr:SetGridOut(number(InRoads/@outputGridScaleFactor))"/>
            <html>
                <head>
                    <link rel="stylesheet" type="text/css" href="{$xslRootDirectory}/_Themes/engineer/theme.css"/>
                    <!-- Title displayed in browser Title Bar -->
                    <title lang="en">Cant List Report</title>
                </head>
                <body>
                    <xsl:choose>
                        <xsl:when test="$xslShowHelp = 'true'">
                            <xsl:call-template name="StyleSheetHelp"/>
                        </xsl:when>
                        <xsl:otherwise>
                            <xsl:for-each select="InRoads">
                                <center>
                                    <!-- Report Title -->
                                    <h2 lang="en">Cant List Report</h2>
                                    <p lang="en">
                                        Report Created:&#xa0; <xsl:value-of select="inr:date()"/><br/>
                                        Time:&#xa0; <xsl:value-of select="inr:time()"/>
                                    </p>
                                </center>
                                <!--Project Data-->
                                <xsl:for-each select="GeometryProject">
                                    <table class="margin" cellpadding="2" width="90%">
                                        <tbody>
                                            <tr>
                                                <th align="right" lang="en">Project:&#xa0; </th>
                                                <td align="left" colspan="2"><xsl:value-of select="@name"/></td>
                                            </tr>
                                            <tr>
                                                <th align="right" lang="en">Description:&#xa0; </th>
                                                <td align="left" colspan="2"><xsl:value-of select="@description"/></td>
                                            </tr>
                                            <tr>
                                                <th align="right" lang="en">File Name:&#xa0; </th>
                                                <td align="left" colspan="2"><xsl:value-of select="@file"/></td>
                                            </tr>
                                            <tr>
                                                <th align="right" lang="en">Last Revised:&#xa0; </th>
                                                <td align="left" colspan="2">
                                                    <xsl:value-of select="concat(@lastRevisedBy, '  ', @lastRevisedDate)"/>
                                                </td>
                                            </tr>
                                            <tr>
                                                <th align="right" lang="en" style="font-size: 80%">Input Grid Factor:&#xa0; </th>
                                                <td align="left" style="font-size: 80%">
                                                    <xsl:value-of select="../@inputGridScaleFactor"/>
                                                </td>
                                                <td align="right" lang="en" style="font-size: 80%">
                                                    <strong>Note:&#xa0; </strong>All units in this report are in
                                                    <xsl:if test="//@linearUnits = 'Imperial'">feet</xsl:if>
                                                    <xsl:if test="//@linearUnits = 'Metric'">meters</xsl:if>
                                                    unless specified otherwise.
                                                </td>
                                            </tr>
                                        </tbody>
                                    </table>
                                    <hr/>
                                    <!-- Horizontal Alignment Data -->
                                    <xsl:for-each select="HorizontalAlignment[*/CantAlignment]">
                                        <table class="margin" cellpadding="1" width="80%">
                                            <tr>
                                                <th align="right" lang="en"><br/>Horizontal Alignment:&#xa0; </th>
                                                <td align="left" valign="bottom"><xsl:value-of select="@name"/></td>
                                            </tr>
                                            <tr>
                                                <th align="right" lang="en">Horizontal Description:&#xa0; </th>
                                                <td align="left"><xsl:value-of select="@description"/></td>
                                            </tr>
                                            <tr>
                                                <th align="right" lang="en">Horizontal Style:&#xa0; </th>
                                                <td align="left"><xsl:value-of select="@style"/></td>
                                            </tr>
                                            <!-- Cant Point Data -->
                                            <xsl:for-each select="Superelevation/CantAlignment[Cant/CantPoint]">
                                                <tr>
                                                    <xsl:choose>
                                                        <xsl:when test="//@linearUnits = 'Imperial'">
                                                            <th class="underline" lang="en" valign="bottom">Station</th>
                                <th class="underline" lang="en" valign="bottom">Radius</th>
                                                            <th class="underline" lang="en" valign="bottom">Cant<br/>(in)</th>
                                <th class="underline" lang="en" valign="bottom">Easting</th>
                                <th class="underline" lang="en" valign="bottom">Northing</th>
                                <th class="underline" lang="en" valign="bottom">Elevation</th>
                                <th class="underline" lang="en" valign="bottom">Left Rail</th>
                                <th class="underline" lang="en" valign="bottom">Right Rail</th>
                                                        </xsl:when>
                                                        <xsl:otherwise>
                                                            <th class="underline" lang="en" valign="bottom">Station</th>
                                <th class="underline" lang="en" valign="bottom">Radius</th>
                                                            <th class="underline" lang="en" valign="bottom">Cant<br/>(mm)</th>
                                <th class="underline" lang="en" valign="bottom">Easting</th>
                                <th class="underline" lang="en" valign="bottom">Northing</th>
                                <th class="underline" lang="en" valign="bottom">Elevation</th>
                                <th class="underline" lang="en" valign="bottom">Left Rail</th>
                                <th class="underline" lang="en" valign="bottom">Right Rail</th>
                                                        </xsl:otherwise>
                                                    </xsl:choose>
                                                </tr>
                                                <xsl:for-each select="Cant[position() != last()]">
                                                    <xsl:for-each select="CantPoint">
                                                        <tr>
                                                            <td align="right" style="white-space:nowrap;">
                                                                <xsl:value-of select="inr:stationFormat(number(GeometryPoint/station/@externalStation), $xslStationFormat, $xslStationPrecision, string(GeometryPoint/station/@externalStationName))"/>
                                                            </td>

                                        <td align="right">
                                                                                <xsl:value-of select="inr:distanceFormat(number(@radius), $xslDistancePrecision)"/>
                                                                            </td>

                                                            <xsl:choose>
                                                                <xsl:when test="@leftCant != 0">
                                                                    <xsl:choose>
                                                                        <xsl:when test="//@linearUnits = 'Imperial'">
                                                                            <td align="right">
                                                                                <xsl:value-of select="inr:distanceFormat(number(@leftCant * 12), $xslDistancePrecision)"/>
                                                                            </td>
                                                                        </xsl:when>
                                                                        <xsl:otherwise>
                                                                            <td align="right">
                                                                                <xsl:value-of select="inr:distanceFormat(number(@leftCant * 1000), $xslDistancePrecision)"/>
                                                                            </td>
                                                                        </xsl:otherwise>
                                                                    </xsl:choose>
                                                                </xsl:when>
                                                                <xsl:when test="@rightCant != 0">
                                                                    <xsl:choose>
                                                                        <xsl:when test="//@linearUnits = 'Imperial'">
                                                                            <td align="right">
                                                                                <xsl:value-of select="inr:distanceFormat(number(@rightCant * 12 * -1), $xslDistancePrecision)"/>
                                                                            </td>
                                                                        </xsl:when>
                                                                        <xsl:otherwise>
                                                                            <td align="right">
                                                                                <xsl:value-of select="inr:distanceFormat(number(@rightCant * 1000 * -1), $xslDistancePrecision)"/>
                                                                            </td>
                                                                        </xsl:otherwise>
                                                                    </xsl:choose>
                                                                </xsl:when>
                                                                <xsl:otherwise>
                                                                    <td align="right">
                                                                        <xsl:value-of select="inr:distanceFormat(number(0), $xslDistancePrecision)"/>
                                                                    </td>
                                                                </xsl:otherwise>
                                                            </xsl:choose>

                                        <td align="right">
                                                                                <xsl:value-of select="inr:distanceFormat(number(GeometryPoint/@easting), $xslDistancePrecision)"/>
                                                                            </td>
                                        <td align="right">
                                                                                <xsl:value-of select="inr:distanceFormat(number(GeometryPoint/@northing), $xslDistancePrecision)"/>
                                                                            </td>
                                        <td align="right">
                                                                                <xsl:value-of select="inr:distanceFormat(number(GeometryPoint/@elevation), $xslDistancePrecision)"/>
                                                                            </td>


                                <td align="right">
                                <xsl:choose>
                                <xsl:when test="@radius &lt;= 0">
                                
                                                                <xsl:value-of select="inr:elevationFormat(number(GeometryPoint/@elevation), $xslElevationPrecision)"/>
                                                            
                                                            </xsl:when>
                                <xsl:when test="@radius &gt;= 0">
                                
                                                                <xsl:value-of select="inr:elevationFormat(number((GeometryPoint/@elevation)+(@leftCant)), $xslElevationPrecision)"/>
                                </xsl:when>
                                </xsl:choose>                                                         
                                </td>

                                <td align="right">
                                <xsl:choose>
                                <xsl:when test="@radius &lt;= 0">
                                
                                                                <xsl:value-of select="inr:elevationFormat(number((GeometryPoint/@elevation)+(@rightCant)), $xslElevationPrecision)"/>
                                                            
                                                            </xsl:when>
                                <xsl:when test="@radius &gt;= 0">
                                
                                                                <xsl:value-of select="inr:elevationFormat(number(GeometryPoint/@elevation), $xslElevationPrecision)"/>
                                </xsl:when>
                                </xsl:choose>                                                         
                                </td>



                                                        </tr>
                                                    </xsl:for-each>
                                                </xsl:for-each>
                                            </xsl:for-each>
                                        </table>
                                    </xsl:for-each>
                                </xsl:for-each>
                            </xsl:for-each>
                        </xsl:otherwise>
                    </xsl:choose>
                </body>
            </html>
        </xsl:template>
        <xsl:template name="StyleSheetHelp">
            <div class="section1">
                <h4 lang="en">Notes</h4>
                <p class="normal1" lang="en">
                    You must include at least one horizontal alignment in the <em>Include</em> field on the
                    <em>Tools &gt; XML Reports &gt; Geometry</em> command.
                </p>
                <p class="normal1" lang="en">
                    You must also toggle on the <em>Include Cant Alignments</em> option and select either
                    <em>All</em> or <em>Active</em> to get results from this report.
                </p>
                <p class="small" lang="en">
                    <em>&#xa9; 2009 Bentley Systems, Inc</em>
                </p>
            </div>
        </xsl:template>
    </xsl:stylesheet>

  • Hi Zaher2012

    Thanks for the response, however I do not want a report, what i want is to be able to display the existing cross level in a table similar to annotate profile.

    From the attached picture you can see that I have been able to create a table with the existing crosslevels. I was able to display the table with the existing cross levels using the Tools / XML Reports / Regression Menu which is great.

     

    However Power Rail does not append a +ve or -ve to the cross levels to denote which rail is high or low. In the example shown I have drawn a red line against the cross levels to denote where the cross level changes from +ve to -ve but is this is too much work, is there anyway I can display the existing crosslevels with +ve or -ve appended to them but in a table format???

     

    Thanks

  • Hi,

    You can create a new preferences in Profile Annotate, this preferences is setup to display only cant diagram (the height must be in the same row of existing cross level) using this way you will get a line similar as yours.

    I'm using Bentley rail track in Autocad. so what I do to display the existing cross level: I create my report using Xml reports->... I customize the report ,as I explained in the first post, to get + and - cross level -> save as xls file -> then I use a lisp to import Excel file to Autocad. its working very well and is very useful because by using this method you can display all kind of data that you can get from in Xml Report.

    Regards

Reply
  • Hi,

    You can create a new preferences in Profile Annotate, this preferences is setup to display only cant diagram (the height must be in the same row of existing cross level) using this way you will get a line similar as yours.

    I'm using Bentley rail track in Autocad. so what I do to display the existing cross level: I create my report using Xml reports->... I customize the report ,as I explained in the first post, to get + and - cross level -> save as xls file -> then I use a lisp to import Excel file to Autocad. its working very well and is very useful because by using this method you can display all kind of data that you can get from in Xml Report.

    Regards

Children
No Data