Axis Dialog#

In the Axis Dialog you can define the axis geometry, variables and create additional secondary axes. Axis definition has direct influence to the Superstructure and Substructure elements.

Changes in axis definition (using Edit Axis command) will update Component and Substructure elements.

Axis dialog is divided into following tabs: Alignment, Variables, Secondary Axes

Alignment tab#

Define horizontal and vertical alignment and placements (points of interest) along the axis at the chosen stations.

Horizontal Alignment#

Horizontal Alignment is defined using alignment parameters. You can choose from different types of curves and define the length, start- and end radius. Stations will be calculated automatically according to the length of each curve and Station at Start value.

_images/mpic_axis_horizontal_picture.png

An axis is always based on a starting point (coordinates x,y) and the given direction. The user can define the lengths and curvatures of each section, from which the values of the tangents are then calculated. Rotation at start of each section (alignment parameter) is calculated according to this tangent. For the radii values, positive values indicate a curve to the right and negative values indicate a curve to the left.

_images/mpic_axis_dialog_horizontal.png
  • Origin - X,Y coordinates - you can define the starting point of an axis with coordinates according to the chosen coordinate system.

  • Coordinate System
    • Project - related to the Project Base Point

    • Shared - related to the Survey Point

    • Internal - related to the Internal Origin

  • Derivative at Start - X,Y lengths - you can define the orientation of the axis at the starting point with X and Y values.

  • Station at Start - is divided into two input sections. First one is the mileage of the beginning of the axis. Second one is the value of the first station.

  • ID - Axis ID is used in the names of the Component and created views. It helps you also to navigate in your project.

Transition curves

Transition curves (or spirals) allow a continuous transition between curve segments with different curvatures, usually from a line to a circular arc. A point on the transition curve is computed as follows:

\[\begin{split}\bm{P}(s) = \begin{pmatrix} x(s)\\ y(s)\end{pmatrix} = \int_0^s \begin{pmatrix} \mathrm{cos}(\theta(s)) \\ \mathrm{sin}(\theta(s))\end{pmatrix} \mathrm{d}s\end{split}\]

with s being the station, which is defined on the interval [0,L]. L denotes the length of the transition curve, and θ is the angle with respect to the x-axis.

Note: There is no analytical solution of the (Fresnel) integrals. In SOFiSTiK, the numerical integration is carried out with the Runge-Kutta-Fehlberg method or Gauss quadrature.

_images/mpic_clothoid_overview.png

SOFiSTiK provides several transition curves (or spirals). These are defined by the curvature κ(s), from which the angle of rotation θ(s) can be computed via integration. Apart from the clothoid, all transition curves are defined such that the tangents of the curvature are horizontal at the beginning and end. Compared to the clothoid, this ensures a smoother transition of the curvature.

_images/mpic_curvature_comparison.png

In the following, let

\[\xi = \frac{s}{L} \, \in [0,1]\]

be the relative parameter on the transition curve.

  • Clothoid

\[\kappa (s) = \kappa_1(1-\xi)+ \kappa_2 \xi\]
\[\theta (s) = L \left(\kappa_1\xi + \frac{1}{2}\left(\kappa_2-\kappa_1\right) \xi^2\right)\]
  • Bloss

\[\kappa (s) = \kappa_1+ 3(\kappa_2-\kappa_1)\xi^2 -2(\kappa_2-\kappa_1)\xi^3\]
\[\theta (s) = L \left(\kappa_1\xi + \left(\kappa_2-\kappa_1\right) \left(1-\frac{1}{2}\xi\right) \xi^3\right)\]
  • Bi-quadratic (aka Schramm)

\[\begin{split}\kappa (s) = \begin{cases} \kappa_1 + 2 \left(\kappa_2-\kappa_1\right)\xi^2 & \xi \in[0,0.5] \\ \kappa_2 -2 \left(\kappa_2-\kappa_1\right) \left(\xi-1\right)^2 & \xi \in (0.5,1] \end{cases}\end{split}\]
\[\begin{split}\theta (s) = \begin{cases} L \left(\kappa_1\xi + \frac{2}{3}\left(\kappa_2-\kappa_1\right)\xi^3\right) & \xi \in[0,0.5] \\ L \left(\kappa_2\xi -\left(\kappa_2-\kappa_1\right) \left(\frac{2}{3}\left(\xi-1\right)^3+\frac{1}{2}\right)\right) & \xi \in (0.5,1] \end{cases}\end{split}\]
  • Sinusodial (aka Klein)

\[\kappa (s) = \kappa_1 + \left(\kappa_2-\kappa_1\right) \left(\xi - \frac{1}{2\pi}\mathrm{sin}(2\pi\xi)\right)\]
\[\theta (s) = L \left(\kappa_1\xi + \left(\kappa_2-\kappa_1\right) \left(\frac{1}{2}\xi^2 + \frac{1}{4\pi^2}\mathrm{cos}(2\pi\xi)\right) -\frac{\left(\kappa_2-\kappa_1\right) }{4\pi^2} \right)\]
  • Cosinusodial

\[\kappa (s) = \kappa_1 + \frac{1}{2} \left(\kappa_2-\kappa_1\right) \left(1- \mathrm{cos}(\pi\xi)\right)\]
\[\theta (s) = L \left(\kappa_1\xi + \frac{1}{2}\left(\kappa_2-\kappa_1\right)\left(\xi-\frac{\mathrm{sin}(\pi\xi)}{\pi})\right) \right)\]

Vertical Alignment#

Define vertical alignment of an axis along stations using z-coordinates of the tangential intersection points and the radii of curvature along the axis at the preset station positions.

_images/mpic_axis_vertical_picture.png

The height development is independent of the alignment in plan. The curves follow a quadratic parabolic, circular or unsymmertic curve. You can select curvature type in ‘Type’ column. Vertical Alinment is calculated according to the Base Elevation and selected coordinate system (in Horizontal Alignment tab)

_images/mpic_axis_dialog_vertical.png

In case of unsymmetric curve use the Distance to Left and Distance to Right to determine the range (Length L1 and L2) of each curvature from Intersection Point.

_images/mpic_axis_vertical_picture_unsymmetrical.png

Placements#

Define the position and other characteristics of the Placements. Placement’s definition is important for further modeling of component and substructure elements.

For each of the Placements, a local plane is automatically created for the structural elements (substructures, etc.). The working planes are aligned perpendicular to the axis or defined always vertical (global z-direction) Additional rotations can be specified.

_images/mpic_axis_dialog_placements.png
  • Placement’s Orientation - defines the orientation of the placement plane.
    • Orthogonal to Axis - created geometry will be defined with the cross sections in orthogonal direction to the element axis.

    • Vertical - created geometry will be defined with the cross sections in vertical direction (Z-axis) of the project.

Note

Components profiles will be oriented according to this setting!

  • Create Placement representation - activate the check-box to create the symbolic representation of the placements along an axis.

  • You can define the rotation of a placement in local X, Y, Z direction of the placement’s plane or in global direction.

Variables tab#

Define the variable progression along an axis. You can use this variables in Superstructure definition, e.g. to control the cross profile variation along the axis. Various Transition Types are available in the Variable definition.

_images/mpic_axis_variables_picture.png
_images/mpic_axis_dialog_variables.png
  • Variable definition
    • Using table input - you can assign the value to the station. Transition and Slope parameters define the progression of values between the stations.

    • Using equation editor - you can write the equation of the variable using the C-Sharp script editor with available System.Math namespace. You can use other variables in equation, you need to use # before the name of Variable.

    • There are also other virtual Variables available in the equation editor, also with # sign:
      • _axis_x - axis X coordinate

      • _axis_y - axis Y coordinate

      • _axis_z - axis Z coordinate

      • _axis_dx - direction in X axis

      • _axis_dy - direction in Y axis

      • _axis_dz - direction in Z axis

      • _axis_ddx - curvature vector in X axis

      • _axis_ddy - curvature vector in Y axis

      • _axis_ddz - curvature vector in Z axis

      • _axis_k - radius curvature

      • _axis_length

      • _axis_start

      • _axis_end

  • Unit type - choose the unit type of the variables. Variable unit will by taken according to the Revit project units.

  • Scale slider - for better visualisation and input control, you can adjust the vertical scale of the variable using the slider under the preview window.

Tip

You can define two values at the same chainage. In order to sort the values, please use the INDEX column with proper numbers (0, 1, etc.) .. figure:: /resources/mpic_axis_dialog_variables_jump.png

Secondary Axis tab#

Define dependent axis relative to the main axis using U (horizontal),V (vertical) Offset values. Offset values can vary along an axis with individual transition type between the stations. While creating new Dependent Axis, all stations of the main axis will be automatically generated.

_images/mpic_axis_dialog_dependent.png