@@ -746,6 +746,151 @@ be created for every desired pre-loaded set of containers.
746
746
747
747
A single ``.con `` file can include Wagon entries for both types of allocation definition.
748
748
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
+
749
894
750
895
751
896
0 commit comments