Skip to content

Commit 2956c45

Browse files
committed
Containers: first part of container station documentation
1 parent 0cec6dd commit 2956c45

File tree

3 files changed

+145
-0
lines changed

3 files changed

+145
-0
lines changed

Source/Documentation/Manual/features-rollingstock.rst

Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -746,6 +746,151 @@ be created for every desired pre-loaded set of containers.
746746

747747
A single ``.con`` file can include Wagon entries for both types of allocation definition.
748748

749+
Container Station
750+
-----------------
751+
752+
The Container Station is composed by a container crane and a container stack area.
753+
754+
To insert a Container Station in a route, its object must be present in the ``.ref`` file as a
755+
Pickup object. A ``.ref`` file entry sample is as follows::
756+
757+
Pickup (
758+
Class ( "Animated loader" )
759+
Filename ( RMG_45.s )
760+
PickupType ( _FUEL_COAL_ )
761+
Description ( "Animated container crane" )
762+
)
763+
764+
PickupType is set to ``_FUEL_COAL``, but this will be overwritten by the data inserted in the
765+
extension ``.w`` file (see :ref:`here<features-route-modify-wfiles>` and later in this chapter).
766+
767+
Container Station shape file developing rules
768+
''''''''''''''''''''''''''''''''''''''''''''''
769+
770+
- The shape file must have its Z Axis aligned with the track where the wagons to be loaded or
771+
unloaded stay.
772+
- The Z-zero of the shape file must be in the middle of the segment that the crane can cover in
773+
its motion (e.g. the crane Z-span could be -30 meters to 30 meters).
774+
- The animation of the part of the crane moving along the Z axis must be called ``ZAXIS``.
775+
- The animation of the part of the crane moving transversally along the X axis must be called ``XAXIS``,
776+
and must be hierarchically dependent from ``ZAXIS``.
777+
- The animation of the part of the crane moving vertically along the Y axis must be called ``YAXIS``,
778+
and must be hierarchically dependent from ``XAXIS``.
779+
- The grabbers are the extensible arms that pick the container. In the simplest case there are two
780+
sections, one extending towards positive Z for longer containers, and one extending towards negative Z.
781+
The first one must be called ``GRABBER01`` and the second one ``GRABBER02``. Both must be hierarchically
782+
dependent from ``YAXIS``. In the most complex case each of the two "arms" is composed by two parts,
783+
which move like a telescope. Such second couple of arms must be called ``GRABBER01_O2`` and
784+
``GRABBER02_02``. They must be hierarchically dependent from ``GRABBER01`` and ``GRABBER02``.
785+
The spans of ``GRABBER01``
786+
and ``GRABBER02`` must be symmetric, and the same applies for the other couple of spans. Moreover the
787+
spans of ``GRABBER01`` and ``GRABBER01_02`` must be equal (and symmetrically also the other couple).
788+
- The names of the cable parts that have a partially autonomous motion along the Y axis (to
789+
simulate cable winding and unwinding) must start with ``CABLE`` and must be hierarchically dependent
790+
from ``YAXIS``.
791+
792+
The following diagram, taken from Shape Viewer, sums up the above rules.
793+
794+
.. image:: images/features-hierarchy.png
795+
796+
Following are the significant animation entries of a crane's shape file::
797+
798+
animations ( 1
799+
animation ( 2 30
800+
anim_nodes ( 30
801+
anim_node MAIN (
802+
controllers ( 0 )
803+
)
804+
...
805+
anim_node ZAXIS (
806+
controllers ( 1
807+
linear_pos ( 3
808+
linear_key ( 0 0 0 -139.5 )
809+
linear_key ( 12 0 0 139.5 )
810+
linear_key ( 24 0 0 -139.5 )
811+
)
812+
)
813+
)
814+
anim_node XAXIS (
815+
controllers ( 1
816+
linear_pos ( 3
817+
linear_key ( 0 0 0 0 )
818+
linear_key ( 3 26.4 0 0 )
819+
linear_key ( 6 0 0 0 )
820+
)
821+
)
822+
)
823+
...
824+
anim_node YAXIS (
825+
controllers ( 1
826+
linear_pos ( 3
827+
linear_key ( 0 0 11.7 0 )
828+
linear_key ( 2 0 0 0 )
829+
linear_key ( 4 0 11.7 0 )
830+
)
831+
)
832+
)
833+
anim_node GRABBER02 (
834+
controllers ( 1
835+
linear_pos ( 3
836+
linear_key ( 0 0 0 -2.515 )
837+
linear_key ( 1 0 0 0 )
838+
linear_key ( 2 0 0 -2.515 )
839+
)
840+
)
841+
)
842+
anim_node GRABBER02_02 (
843+
controllers ( 1
844+
linear_pos ( 3
845+
linear_key ( 0 0 0 -2.513 )
846+
linear_key ( 1 0 0 0 )
847+
linear_key ( 2 0 0 -2.513 )
848+
)
849+
)
850+
)
851+
anim_node GRABBER01 (
852+
controllers ( 1
853+
linear_pos ( 3
854+
linear_key ( 0 0 0 2.515 )
855+
linear_key ( 1 0 0 0 )
856+
linear_key ( 2 0 0 2.515 )
857+
)
858+
)
859+
)
860+
anim_node GRABBER01_02 (
861+
controllers ( 1
862+
linear_pos ( 3
863+
linear_key ( 0 0 0 2.513 )
864+
linear_key ( 1 0 0 0 )
865+
linear_key ( 2 0 0 2.513 )
866+
)
867+
)
868+
)
869+
...
870+
anim_node CABLE02 (
871+
controllers ( 1
872+
linear_pos ( 3
873+
linear_key ( 0 0 22.32 0 )
874+
linear_key ( 1 0 15.72 0 )
875+
linear_key ( 2 0 22.32 0 )
876+
)
877+
)
878+
)
879+
...
880+
)
881+
)
882+
)
883+
884+
885+
It can be noted that the frame count is different for different animation nodes, e.g.
886+
the ZAXIS has 0, 12, 24. This permits to scale down the motion speed along that axis to a
887+
realistic value.
888+
889+
Stack Locations
890+
''''''''''''''''
891+
892+
893+
749894

750895

751896

Loading
Loading

0 commit comments

Comments
 (0)