Talk:"Extensions" container

From TrainzOnline
Jump to: navigation, search

One use case idea

While I'm thinking about cranes, the idea raised, to use such an extension-container to specify the reachable space (hookspace) of the crane's gear. That is useful in my mind for the proof of the reachability of objects the crane shell hook and move.

One kind is Bridgecrane: A cranebridge moves forward/backward. The trolley on top of the bridge moves right/left. The lift (cable or telescope) scales and moves up and down. The gear changes between different gearing parts. In the case of container-gear it scales to different container dimensions. The parenting hierarchy looks like: crane -> trolley -> lift -> gear.

The following parameters are usable under the premises that the local direction axes of the crane parts in its basic positions are same directions:

  • The cranes parameters
 Moving space of the crane in y-direction of the crane (ymovecranemin;ymovecranemax) (crane-local)
 and it's zero position (xcranezero;ycranezero) (world-local or attach-point-local). 
  • The trolleys parameters
 Moving space of the trolley in x-direction of the crane (xmovetrolleymin;xmovetrolleymax) (crane-local)
 and it's zero position (xtrolleyzero;ytrolleyzero) (crane-local)
  • The lifts parameters
 Moving space of the lifthead in z-direction of the lift (zmoveliftmin;zmoveliftmax) (trolley-local)
 and it's scaling space in z-direction of the lift (zscaleliftmin;zscaleliftmax)
 and it's zero position (x,y) and zeroscale (z) (xliftzero;yliftzero;zliftzero) (trolley-local)
  • The gears parameters
 Rotating space of the gear around its z-direction (zrotgearmin;zrotgearmax) (gear-local)
 and it's gear hookpoint (xhookgear;yhookgear;zhookgear) (gear-local)
 and it's gear scales list [yscalegear10ft;yscalegear20ft;yscalegear40ft;yscalegear45ft]
 and the gears zero position (z) (zgearzero) (lift-local)


The liftheads position may be computed from the lifts scale with the rule of three. The crane's zero position should be the crane's origin or if the crane is part of an object its attachment-points location. The meshes of the lift-gear-pairs may have different attributes, meshes and animations for other kinds of gears. This should be discussed too.

Other kind is Boomcrane: Of course the boom crane may be moveable or not. The hook space is relative to the boom crane's world position. The world position is found in existing attributes. The gyrepoint of the crane's pylon may be somewhat movable on the chassis too. So I decided to add this too. The cranes boom at top of the cranes pylon rotates around the pylons gyrepoint. The crane's boom scales somewide. The gear moves perpendicular up and down from the top of the boom with the help of the lift (mostly a cable, but e.g. a kalmar doesn't have a lift). The parenting hierarchy looks like:

 crane(chassis) -> pylon -> boom -> lift -> gear.

The local direction axes of the crane parts shell fit the following: The axes of chassis, gyrepoint, boom, lift and gear are same directed. That means that the pylons rotation is around its z-axis and the booms up and down are rotating around its x-axis. That means too that the lift is rotating v.v. to stay perpendicular.

The following parameters are usable under these premises:

  • The pylons parameters
 Moving space of the pylon in x- and y-direction of the pylon 
 (xmovepylonmin;xmovepylonmax;ymovepylonmin;ymovepylonmax) (pylon-local)
 and it's moving space of the pylon head in z-direction of the lift (zmovepylonmin;zmovepylonmax) (pylon-local)
 and it's scaling space in z-direction of the pylon (zscalepylonmin;zscalepylonmax) (pylon-local)
 and it's rotating space in z-direction of the pylon (zrotpylonmin;zrotpylonmax) (pylon-local)
 and it's zero position (x,y),  zero scale (z) and zero rotation (z) (xpospylonzero;ypospylonzero;zscalepylonzero;zrotpylonzero) (crane-local)
  • The booms parameters
 Rotating space of the boom in x-direction of the boom (xrotboommin;xrotboommax) (boom-local)
 and scaling space in y-direction of the boom (yboomscalemin;yboomscalemax) (boom-local)
 and it's zero rotation (x) and zero scale (y) (xrotboomzero;yscaleboomzero) (pylon-local)
  • The lifts parameters
 Moving space of the lifthead in z-direction of the lift (zmoveliftmin;zmoveliftmax) (lift-local)
 and it's scaling space in z-direction of the lift (zscaleliftmin;zscaleliftmax) (lift-local)
 and it's zero position (x,y) and zero scale (z) (xliftzero;yliftzero;zliftzero) (boom-local)
 and it's current x-rotation (xrotliftcurrent = -xrotboomcurrent)
  • The gears parameters
 The gear hookpoint (xhookgear;yhookgear;zhookgear) (gear-local)
 and the gears zero position (z) (zgearzero) (lift-local)

The position of the boom head may be computed with trig functions.

All in all I’m persuaded that it’s possible to bring the two kinds under one hood. If I e.g. think of the bridge as a pylon without z-scaling, x-moving and z-rotating or of the trolley/boom with additional x-move of the boom and without x-rotating and y-scaling, so the parenting hierarchy may look like this for boom/bridge:

 crane(chassis)/empty -> pylon/bridge -> boom/trolley -> lift -> gear
Personal tools