POV-Ray : Newsgroups : povray.general : HELP - Cannot Identify Error : HELP - Cannot Identify Error Server Time: 25 Apr 2019 22:09:46 GMT
  HELP - Cannot Identify Error  
From: Sven Littkowski
Date: 24 Mar 2018 01:20:07
Hi,

I have a weird problem: suddenly there is an error in my scene file, but
I cannot recognize where the error is. Can anyone assist me?

I am getting that mysterious error sometimes at line 826, sometimes at
line 833, and sometimes at line 840. Strange, ehh? But it gets even
stranger: sometimes it renders without any error!

What's the cause?

---------------------------

#version 3.7;

// Name:    "The Long Wide River"
// Type:    Paddle-Wheel Steamer (Mississippi, ca. 1855)
// Hull:    -60.00m to 31.50m, -2.25m to 0.00m
// Draft:    -2.25m to -0.75m (1.50m)
// Deck 1:  -80.00m to 31.50m, 0.00m to -0.30m
// Floor 1:   0.30m / 5.30m (5.00m)

#declare MyRadiosity = 4;


global_settings
{
 assumed_gamma 1.4
 #if(MyRadiosity>0)
  radiosity
  {
   pretrace_start 0.08
   pretrace_end   0.04/MyRadiosity
   count 60*MyRadiosity
   nearest_count min (20, MyRadiosity)
   error_bound 2/MyRadiosity
   low_error_factor 0.5
   recursion_limit 1
   gray_threshold 0
   minimum_reuse 0.015
   brightness 1
   adc_bailout 0.005
   normal on
   media on
   always_sample off
  }
 #end
 subsurface        {}
 adc_bailout       0.0039
 ambient_light     rgb < 0.000, 0.000, 0.000 >
 irid_wavelength   rgb < 0.250, 0.180, 0.140 >
 max_trace_level   5
 number_of_waves   10
 noise_generator   3
 charset           ascii
}

#default
{
 finish { emission 0.0 diffuse 1.0 }
}

#declare MyDaytime =   12;
#declare MyLand =      off;
#declare MyClouds =    off;
#declare MyHaze =      off;
#declare MyShipTex =   off;
#declare MyWaterTex =  off;
#declare MyLandTex =   off;


#declare MyRed =       texture { pigment { color rgb < 0.5490196,
0.2352941, 0.2000000 > } };
#declare MyWhite =     texture { pigment { color rgb < 1.0000000,
1.0000000, 1.0000000 > } };
#declare MyBrown =     texture { pigment { color rgb < 0.5607843,
0.4392157, 0.3529412 > } };
#declare MySand =      texture { pigment { color rgb < 0.7294118,
0.6627451, 0.5607843 > } };
#declare MyTar =       texture { pigment { color rgb < 0.1000000,
0.1000000, 0.1000000 > } };
#declare MyBlack =     texture { pigment { color rgb < 0.0500000,
0.0500000, 0.0500000 > } };
#declare MyGreen =     texture { pigment { color rgb < 0.2156863,
0.5568627, 0.4901961 > } };
#declare MyYellow =    texture { pigment { color rgb < 0.8509804,
0.7137255, 0.5098039 > } };
#declare MyGlass =     texture { pigment { color rgbf < 1.0000000,
1.0000000, 1.0000000, 1.0000000 > } };
#declare MyLamps =     texture { pigment { color rgb < 1.0000000,
0.7843137, 0.3843137 > } };

#declare MyRandom = seed(now*24*60*60);



//------------------------------------------------------------------------
#include "colors.inc"
#include "textures.inc"
#include "glass.inc"
#include "metals.inc"
#include "golds.inc"
#include "functions.inc"
#include "shapes.inc"
//------------------------------------------------------------------------

#if(MyRadiosity>0)
 #declare MyLightMultiplicator = 1.2;
#else
 #declare MyLightMultiplicator = 2.0;
#end
light_source
{
 <  -300000, 100000, -300000 >
 color rgb < 1.0000000, 0.9490196, 0.8509804 > * MyLightMultiplicator
}

//------------------------------------------------------------------------

camera
{
 location  < -25.0, 50.0, -80.0 >
 look_at   < -25.0,  0.0,   0.0 >
}
camera
{
 location  < -25.0,  0.0, -80.0 >
 look_at   < -25.0,  0.0,   0.0 >
}

camera
{
 location  < -90.0, 20.0, -20.0 >
 look_at   < -55.0, 0.0,  -0.0 >
}
/*
camera
{
 location  < -65.0, 5.0, -15.0 >
 look_at   < -66.0, 2.0,  -0.0 >
}
*/
// Element - Hull Bow
---------------------------------------------------------------

#declare HullBow1 = union
{
 cylinder { < 0.0,  1.0, 0.0 > < 0.0, -2.0, 0.0 > 10.5 }
 cylinder { < 0.0, -2.0, 0.0 > < 0.0, -3.0, 0.0 >  9.5 }
 torus { 9.5, 1.0 translate < 0.0, -2.0, 0.0 > }
}

#declare HullBow2 = difference
{
 object { HullBow1 }
 box { < -10.6,  1.1, -10.6 > <   0.0, -3.1,  10.6 > }
 scale < 3.0, 1.0, 1.0 >
}

// Element - Hull Main
---------------------------------------------------------------

#declare HullMain1 = union
{
 box { < -61.0, 0.0, 10.5 > <  0.0, -2.0, -10.5 > }
 box { < -60.0, 0.0,  9.5 > <  0.0, -3.0,  -9.5 > }
 cylinder { < -60.0, -2.0, -9.5 > <  0.0, -2.0, -9.5 > 1.0 }
 cylinder { < -60.0, -2.0,  9.5 > <  0.0, -2.0,  9.5 > 1.0 }
}

#declare HullMain2 = union
{
 object { HullMain1 }
 difference
 {
  union
  {
   box { < -11.0, -2.0, -10.5 > < 0.0, 0.0, 10.5 > }
   box { < -11.0, -3.0,  -9.5 > < 0.0, 0.0,  9.5 > }
   sphere { < 0.0, -2.0, -9.5 > 1.0 }
   sphere { < 0.0, -2.0,  9.5 > 1.0 }
   cylinder { < 0.0, -2.0, -9.5 > < 0.0, -2.0,  9.5 > 1.0 }
   cylinder { < -11.0, -2.0, -9.5 > < 0.0, -2.0, -9.5 > 1.0 }
   cylinder { < -11.0, -2.0,  9.5 > < 0.0, -2.0,  9.5 > 1.0 }
   rotate < 0.0, 0.0, -5.0 >
   translate < -60.0,  0.0, 0.0 >
  }
  box { < -72.0, 0.0, -10.6 > < -59.0, 2.0,  10.6 > }
  box { < -72.0, -4.0, -10.6 > < -70.0, 0.1,  10.6 > }
 }
}

// Element - Hull Complete
---------------------------------------------------------------

#declare HullComplete1 = union
{
 object { HullBow2  }
 object { HullMain2 }
}

#declare HullComplete2 = difference
{
 object { HullComplete1 }
 box { < -70.1, -3.1, -10.6 > <  31.6,  1.1,   2.999 > }
 translate < 0.0, 0.0, -3.0 >
}

#declare HullComplete3 = union
{
 object { HullComplete2 scale < 1.0, 1.0,  1.0 > }
 object { HullComplete2 scale < 1.0, 1.0, -1.0 > }
 difference
 {
  cylinder { < 0.0, 0.0, -0.2 > < 0.0, 0.0, 0.2 > 4.0 }
  box { < -5.1, -5.1, -0.3 > < 5.1, -3.0, 0.3 > }
  translate < 27.0, 0.0, 0.0 >
 }
}

#declare HullComplete4 = difference
{
 object { HullComplete3 }
 cylinder { < 0.0,  0.0, -7.6 > <  0.0,  0.0,  7.6 > 10.0 scale < 3.0,
0.5, 1.0 > translate < 15.0, 5.0, 0.0 > }
 box { < -0.1,  0.0, -7.6 > <  15.0,  1.1,  7.6 > }
 scale < 1.0, 0.75, 1.0 >
 texture { MyBrown }
}

// Element - Deck Main
---------------------------------------------------------------

#declare DeckMain1 = difference
{
 union
 {
  sphere { < 0.0, 0.0, 0.0 > 7.55 scale < 2.15, 0.4, 1.0 > translate <
15.0, 0.5, 0.0 > }
  cylinder { < -70.0, 0.0, 0.0 > < 15.0, 0.0, 0.0 > 7.55 scale < 1.0,
0.4, 1.0 > translate < 0.0, 0.5, 0.0 > }
 }
 box { < -70.1,  0.0, -10.1 > < 15.0,  5.5, 10.1 > }
 box { < -70.1, -4.0, -10.1 > < 35.0, -2.0, 10.1 > }
 cylinder { < 0.0,  0.0, -10.5 > <  0.0,  0.0,  10.5 > 10.0 scale < 3.0,
0.5, 1.0 > translate < 15.0, 5.0, 0.0 > }
 texture { MyBrown }
}

#declare DeckMain2 = union
{
 object { DeckMain1 }
 difference
 {
  union
  {
   box { < -70.0, 0.0, -10.0 > < 12.0, 2.0, 10.0 > }
   cylinder { < 0.0, 0.0, 0.0 > < 0.0, 2.0, 0.0 > 10.0 scale < 2.0, 1.0,
1.0 > translate < 12.0, 0.0, 0.0 > }
   texture { MyRed }
  }
  cylinder { < 0.0,  0.0, -10.1 > <  0.0,  0.0,  10.1 > 10.0 scale <
3.0, 0.5, 1.0 > translate < 15.0, 5.3, 0.0 > texture { MySand } }
  box { < -70.1,  0.3, -10.1 > <  12.5,  2.1,  10.1 > texture { MySand } }
  difference
  {
   box { < 14.7, -3.0, -10.1 > < 35.0, 3.0, 10.1 > }
   cylinder { < 0.0,  0.0, -10.2 > <  0.0,  0.0,  10.2 > 10.3 scale <
3.0, 0.5, 1.0 > translate < 14.7, 5.0, 0.0 > }
   texture { MyRed }
  }
 }
}

#declare DeckMain3 = difference
{
 union
 {
  difference
  {
   cylinder { < 0.0, 0.0, -5.0 > < 0.0, 0.4, -5.0 > 5.0 texture { MyRed
} } // Wheel Deck
   box { < -3.75, -0.01, -5.1 > < -1.0, 0.5, -5.8 > texture { MyRed } }
  }
  box { < -4.875, -0.2, -5.9 > < 1.0, 0.0, -6.1 > }
  box { < -4.000, -0.2, 0.1 > < 1.0, 0.0, -0.1 > rotate < 0.0, -22.5,
0.0 > translate < 0.0, 0.0, -6.5 > }
  box { < -3.200, -0.2, 0.1 > < 1.0, 0.0, -0.1 > rotate < 0.0, -45.0,
0.0 > translate < 0.0, 0.0, -7.0 > }
  box { < -2.400, -0.2, 0.1 > < 1.0, 0.0, -0.1 > rotate < 0.0, -67.5,
0.0 > translate < 0.0, 0.0, -7.5 > }
 }
 cylinder { < 0.0, 0.3, -5.0 > < 0.0, 0.5, -5.0 > 5.1 texture { MySand } }
 box { <  0.0, -0.1, -10.1 > < 5.1, 0.5, -4.9 > texture { MyRed } }
 box { < -5.1, -0.1,  -5.0 > < 5.1, 0.5,  0.1 > texture { MyRed } }
 scale < 2.0, 1.0, 1.0 >
 rotate < 0.0, 0.0, -5.0 >
 translate < -70.0, 0.0, 0.0 >
}

#declare DeckMain4 = union
{
 object { DeckMain3 scale < 1.0, 1.0,  1.0 > }
 object { DeckMain3 scale < 1.0, 1.0, -1.0 > }
 object { DeckMain2 }
}

#declare DeckMain5 = union
{
 difference
 {
  object { DeckMain4 scale < 1.0, 1.0,  1.0 > }
  box { < -5.0, -0.1, -7.75 > < 5.0, 0.4, -9.9 > translate < -50.0, 0.0,
0.0 > texture { MyRed } } // Wheel Cut-Outs
  box { < -5.0, -0.1,  7.75 > < 5.0, 0.4,  9.9 > translate < -50.0, 0.0,
0.0 > texture { MyRed } } // Wheel Cut-Outs
 }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -69.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -67.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -65.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -63.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -61.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -59.0, 0.0,
0.0 > }             // The Long Wide River
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -57.0, 0.0,
0.0 > }
// box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -55.0,
0.0, 0.0 > }
// box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -53.0,
0.0, 0.0 > }
// box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -51.0,
0.0, 0.0 > }

// box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -49.0,
0.0, 0.0 > }
// box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -47.0,
0.0, 0.0 > }
// box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -45.0,
0.0, 0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -43.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -41.0, 0.0,
0.0 > }

 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -39.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -37.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -35.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -33.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -31.0, 0.0,
0.0 > }

 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -29.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -27.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -25.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -23.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -21.0, 0.0,
0.0 > }

 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -19.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -17.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -15.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -13.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -11.0, 0.0,
0.0 > }

 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -09.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -07.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -05.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -03.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate < -01.0, 0.0,
0.0 > }

 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate <  01.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate <  03.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate <  05.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate <  07.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate <  09.0, 0.0,
0.0 > }

 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate <  11.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.75 > < 0.2, 0.0,  9.75 > translate <  13.0, 0.0,
0.0 > }
 box { < -0.2, -0.2, -9.60 > < 0.2, 0.0,  9.60 > translate <  15.0, 0.0,
0.0 > }
 box { < -0.2, -0.3, -9.30 > < 0.2, 0.1,  9.30 > translate <  17.0, 0.1,
0.0 > }
 box { < -0.2, -0.27, -9.0 > < 0.2, 0.1,  9.00 > translate <  19.0, 0.1,
0.0 > }

 box { < -0.2, -0.2, -8.50 > < 0.2, 0.2,  8.50 > translate <  21.0, 0.0,
0.0 > }
 box { < -0.2, -0.1, -7.90 > < 0.2, 0.3,  7.90 > translate <  23.0, 0.0,
0.0 > }
 box { < -0.2, -0.1, -7.20 > < 0.2, 0.3,  7.20 > translate <  25.0, 0.0,
0.0 > }
 box { < -0.2,  0.05, -6.3 > < 0.2, 0.4,  6.30 > translate <  27.0, 0.0,
0.0 > }
 box { < -0.2,  0.1, -5.00 > < 0.2, 0.4,  5.00 > translate <  29.0, 0.0,
0.0 > }

 texture { MyRed }
}

// Element - Wheels
---------------------------------------------------------------

#declare PostThin = union
{
 box { < -0.085, 0.00, -0.085 > <  0.085, 0.10,  0.085 > }
 box { < -0.075, 0.00, -0.075 > <  0.075, 0.95,  0.075 > }
 box { < -0.085, 0.95, -0.085 > <  0.085, 1.00,  0.085 > }
 scale < 0.5, 1.0, 0.5 >
 texture { MyBrown }
}

#declare Wheels1 = union // Stern Wheel Box
{
 box { < -10.1, 0.30, -5.20 > <  0.0, 0.20, -5.20 > texture { MyRed }
rotate < 0.0, 0.0, -5.0 > translate < -70.0, 0.00, 0.0 > }
 box { < -10.1, 0.30,  5.20 > <  0.0, 0.20,  5.20 > texture { MyRed }
rotate < 0.0, 0.0, -5.0 > translate < -70.0, 0.00, 0.0 > }
 box { < -10.1, 0.30, -5.00 > <  0.0, 0.95, -5.10 > texture { MyRed }
rotate < 0.0, 0.0, -5.0 > translate < -70.0, 0.00, 0.0 > }
 box { < -10.1, 0.30,  5.00 > <  0.0, 0.95,  5.10 > texture { MyRed }
rotate < 0.0, 0.0, -5.0 > translate < -70.0, 0.00, 0.0 > }
 box { < -10.2, 0.00, -5.00 > <  0.1, 0.85, -5.10 > texture { MyRed }
rotate < 0.0, 0.0,  0.0 > translate < -70.0, 0.95, 0.0 > }
 box { < -10.2, 0.00,  5.00 > <  0.1, 0.85,  5.10 > texture { MyRed }
rotate < 0.0, 0.0,  0.0 > translate < -70.0, 0.95, 0.0 > }
 box { < -10.0, 0.80, -4.95 > < -7.2, 0.88, -5.20 > texture { MyRed }
rotate < 0.0, 0.0,  0.0 > translate < -70.0, 0.95, 0.0 > }
 box { < -10.0, 0.80,  4.95 > < -7.2, 0.88,  5.20 > texture { MyRed }
rotate < 0.0, 0.0,  0.0 > translate < -70.0, 0.95, 0.0 > }

 box { < -0.05, -0.40, -5.1 > < 0.05, 1.95, -5.18 > texture { MyRed }
translate < -71.0, 0.8, 0.0 > }
 box { < -0.05, -0.40,  5.1 > < 0.05, 1.95,  5.18 > texture { MyRed }
translate < -71.0, 0.8, 0.0 > }

 box { < -0.05, -0.35, -5.1 > < 0.05, 1.95, -5.18 > texture { MyRed }
translate < -72.0, 0.8, 0.0 > }
 box { < -0.05, -0.35,  5.1 > < 0.05, 1.95,  5.18 > texture { MyRed }
translate < -72.0, 0.8, 0.0 > }

 box { < -0.05, -0.30, -5.1 > < 0.05, 1.95, -5.18 > texture { MyRed }
translate < -73.0, 0.8, 0.0 > }
 box { < -0.05, -0.30,  5.1 > < 0.05, 1.95,  5.18 > texture { MyRed }
translate < -73.0, 0.8, 0.0 > }

 box { < -0.05, -0.18, -5.1 > < 0.05, 1.95, -5.18 > texture { MyRed }
translate < -74.875, 0.8, 0.0 > }
 box { < -0.05, -0.18,  5.1 > < 0.05, 1.95,  5.18 > texture { MyRed }
translate < -74.875, 0.8, 0.0 > }

 box { < -0.05, -0.13, -5.1 > < 0.05, 1.95, -5.18 > texture { MyRed }
translate < -75.875, 0.8, 0.0 > }
 box { < -0.05, -0.13,  5.1 > < 0.05, 1.95,  5.18 > texture { MyRed }
translate < -75.875, 0.8, 0.0 > }

 box { < -0.05, -0.09, -5.1 > < 0.05, 1.95, -5.18 > texture { MyRed }
translate < -76.875, 0.8, 0.0 > }
 box { < -0.05, -0.09,  5.1 > < 0.05, 1.95,  5.18 > texture { MyRed }
translate < -76.875, 0.8, 0.0 > }

 box { <  -7.2,  0.80, -4.95 > <  0.1, 0.88, -5.2 > texture { MyRed }
rotate < 0.0, 0.0,  0.0 > translate < -70.0, 1.95, 0.0 > }
 box { <  -7.2,  0.80,  4.95 > <  0.1, 0.88,  5.2 > texture { MyRed }
rotate < 0.0, 0.0,  0.0 > translate < -70.0, 1.95, 0.0 > }
 box { <  -7.2, -0.15, -5.00 > <  0.1, 0.85, -5.1 > texture { MyRed }
rotate < 0.0, 0.0,  0.0 > translate < -70.0, 1.95, 0.0 > }
 box { <  -7.2, -0.15,  5.00 > <  0.1, 0.85,  5.1 > texture { MyRed }
rotate < 0.0, 0.0,  0.0 > translate < -70.0, 1.95, 0.0 > }
 box { <  -7.2,  0.80, -4.95 > < -7.1, 1.88, -5.2 > texture { MyRed }
rotate < 0.0, 0.0,  0.0 > translate < -70.0, 0.95, 0.0 > }
 box { <  -7.2,  0.80,  4.95 > < -7.1, 1.88,  5.2 > texture { MyRed }
rotate < 0.0, 0.0,  0.0 > translate < -70.0, 0.95, 0.0 > }

 cylinder { < -7.4, 0.40, -5.02 > < -7.4, 0.40, -5.18 > 0.75 translate <
-70.0, 1.95, 0.0 > texture { MyRed } }
 cylinder { < -7.4, 0.40,  5.02 > < -7.4, 0.40,  5.18 > 0.75 translate <
-70.0, 1.95, 0.0 > texture { MyRed } }

 #declare MyRunde = 0;
 #declare MyX     = -70.1;
 #while(MyRunde<49)
  cylinder { < MyX, 1.67, -4.97 > < MyX, 1.67, -5.13 > 0.04 texture {
MyRed } }
  cylinder { < MyX, 1.67,  4.97 > < MyX, 1.67,  5.13 > 0.04 texture {
MyRed } }
  #declare MyX=MyX-0.2;
  #declare MyRunde=MyRunde+1;
 #end

 #declare MyRunde = 0;
 #declare MyX     = -70.1;
 #while(MyRunde<34)
  cylinder { < MyX, 2.67, -4.97 > < MyX, 2.67, -5.13 > 0.04 texture {
MyRed } }
  cylinder { < MyX, 2.67,  4.97 > < MyX, 2.67,  5.13 > 0.04 texture {
MyRed } }
  #declare MyX=MyX-0.2;
  #declare MyRunde=MyRunde+1;
 #end

 difference
 {
  union
  {
   cylinder { < 0.0, 0.0, -4.975 > < 0.0, 0.0, -5.19 > 0.4 }
   cylinder { < 0.0, 0.0,  4.975 > < 0.0, 0.0,  5.19 > 0.4 }
  }
  box { < -0.5, 0.0, -5.2 > < 0.5, 0.6,  5.2 > }
  translate < -74.875, 1.8, 0.0 >
  texture { MyRed }
 }

 box { < -80.25, 0.6, -5.25 > < -79.95, 2.1, 5.25 > texture { MyWhite }
} // Rudder Place

 union // Shaft Security Railings
 {
  box { < -1.00, 0.0, -6.15 > < -7.65, 0.01, -6.25 > texture { MyBrown } }
  box { < -1.00, 0.0,  6.15 > < -7.65, 0.01,  6.25 > texture { MyBrown } }
  box { < -7.65, 0.0, -5.20 > < -7.55, 0.01, -6.25 > texture { MyBrown } }
  box { < -7.65, 0.0,  5.20 > < -7.55, 0.01,  6.25 > texture { MyBrown } }
  object { PostThin rotate < 0.0, 0.0, 5.0 > translate < -1.100, 0.0,
-6.2 > }
  object { PostThin rotate < 0.0, 0.0, 5.0 > translate < -1.100, 0.0,
6.2 > }
  object { PostThin rotate < 0.0, 0.0, 5.0 > translate < -2.725, 0.0,
-6.2 > }
  object { PostThin rotate < 0.0, 0.0, 5.0 > translate < -2.725, 0.0,
6.2 > }
  object { PostThin rotate < 0.0, 0.0, 5.0 > translate < -4.350, 0.0,
-6.2 > }
  object { PostThin rotate < 0.0, 0.0, 5.0 > translate < -4.350, 0.0,
6.2 > }
  object { PostThin rotate < 0.0, 0.0, 5.0 > translate < -5.975, 0.0,
-6.2 > }
  object { PostThin rotate < 0.0, 0.0, 5.0 > translate < -5.975, 0.0,
6.2 > }
  object { PostThin rotate < 0.0, 0.0, 5.0 > translate < -7.600, 0.0,
-6.2 > }
  object { PostThin rotate < 0.0, 0.0, 5.0 > translate < -7.600, 0.0,
6.2 > }
  object { PostThin rotate < 0.0, 0.0, 5.0 > translate < -7.600, 0.0,
-5.3 > }
  object { PostThin rotate < 0.0, 0.0, 5.0 > translate < -7.600, 0.0,
5.3 > }
  union
  {
   box { < -0.02, 0.80, -5.30 > <  0.02, 0.90, -6.20 > }
   box { < -0.02, 0.80,  5.30 > <  0.02, 0.90,  6.20 > }
   rotate < 0.0, 0.0, 5.0 >
   translate < -7.60, 0.0,  0.0 >
   texture { MyBrown }
  }
  box { < -1.1, 0.8, -6.18 > < -7.60, 0.9, -6.22 > texture { MyBrown } }
  box { < -1.1, 0.8,  6.18 > < -7.60, 0.9,  6.22 > texture { MyBrown } }
  rotate < 0.0, 0.0, -5.0 >
  translate < -70.0, 0.3, 0.0 >
 }
 union // Side Wheel Shaft Security Railing
 {
  box { < -55.30, 0.30, -6.65 > < -61.20, 0.31, -6.55 > texture {
MyBrown } }
  box { < -55.30, 0.30,  6.65 > < -61.20, 0.31,  6.55 > texture {
MyBrown } }
  box { < -55.30, 0.30, -7.35 > < -61.20, 0.31, -7.45 > texture {
MyBrown } }
  box { < -55.30, 0.30,  7.35 > < -61.20, 0.31,  7.45 > texture {
MyBrown } }
  box { < -61.40, 0.30, -6.55 > < -61.20, 0.31, -7.45 > texture {
MyBrown } }
  box { < -61.40, 0.30,  6.55 > < -61.20, 0.31,  7.45 > texture {
MyBrown } }

  object { PostThin translate < -55.3, 0.0, -6.6 > }
  object { PostThin translate < -55.3, 0.0, -7.4 > }
  object { PostThin translate < -55.3, 0.0,  6.6 > }
  object { PostThin translate < -55.3, 0.0,  7.4 > }

  object { PostThin translate < -56.8, 0.0, -6.6 > }
  object { PostThin translate < -56.8, 0.0, -7.4 > }
  object { PostThin translate < -56.8, 0.0,  6.6 > }
  object { PostThin translate < -56.8, 0.0,  7.4 > }

  object { PostThin translate < -58.3, 0.0, -6.6 > }
  object { PostThin translate < -58.3, 0.0, -7.4 > }
  object { PostThin translate < -58.3, 0.0,  6.6 > }
  object { PostThin translate < -58.3, 0.0,  7.4 > }

  object { PostThin translate < -59.8, 0.0, -6.6 > }
  object { PostThin translate < -59.8, 0.0, -7.4 > }
  object { PostThin translate < -59.8, 0.0,  6.6 > }
  object { PostThin translate < -59.8, 0.0,  7.4 > }

  object { PostThin translate < -61.3, 0.0, -6.6 > }
  object { PostThin translate < -61.3, 0.0, -7.4 > }
  object { PostThin translate < -61.3, 0.0,  6.6 > }
  object { PostThin translate < -61.3, 0.0,  7.4 > }

  box { < -55.00, 0.80, -6.58 > < -61.32, 0.90, -6.62 > texture {
MyBrown } }
  box { < -55.00, 0.80,  6.58 > < -61.32, 0.90,  6.62 > texture {
MyBrown } }

  box { < -55.00, 0.80, -7.38 > < -61.32, 0.90, -7.42 > texture {
MyBrown } }
  box { < -55.00, 0.80,  7.38 > < -61.32, 0.90,  7.42 > texture {
MyBrown } }

  box { < -61.32, 0.80, -6.60 > < -61.28, 0.90, -7.40 > texture {
MyBrown } }
  box { < -61.32, 0.80,  6.60 > < -61.28, 0.90,  7.40 > texture {
MyBrown } }
 }
}

#declare Shaft = union
{
 box { < 1.5, -0.3, -0.1 > < 10.0, 0.3, 0.1 > }
 box { < 1.5, -0.35, -0.175 > < 10.0, -0.30, 0.175 > }
 box { < 1.5,  0.30, -0.175 > < 10.0,  0.35, 0.175 > }
 cylinder { < 0.0, 0.0, -0.125 > < 0.0, 0.0, 0.125 > 0.34 scale < 5.0,
1.0, 1.0 > translate < 1.5, 0.0, 0.0 > }

 cylinder { < 0.0, 0.0, -0.15 > < 0.0, 0.0, 0.15 > 0.04 translate <
1.65,  0.00, 0.0 > }
 cylinder { < 0.0, 0.0, -0.15 > < 0.0, 0.0, 0.15 > 0.04 translate <
3.00,  0.00, 0.0 > }

 cylinder { < 0.0, 0.0, -0.15 > < 0.0, 0.0, 0.15 > 0.04 translate <
2.19,  0.20, 0.0 > }
 cylinder { < 0.0, 0.0, -0.15 > < 0.0, 0.0, 0.15 > 0.04 translate <
2.46,  0.20, 0.0 > }
 cylinder { < 0.0, 0.0, -0.15 > < 0.0, 0.0, 0.15 > 0.04 translate <
2.19, -0.20, 0.0 > }
 cylinder { < 0.0, 0.0, -0.15 > < 0.0, 0.0, 0.15 > 0.04 translate <
2.46, -0.20, 0.0 > }

 cylinder { < 0.0, 0.0, -0.15 > < 0.0, 0.0, 0.15 > 0.04 translate <
1.93,  0.15, 0.0 > }
 cylinder { < 0.0, 0.0, -0.15 > < 0.0, 0.0, 0.15 > 0.04 translate <
2.72,  0.15, 0.0 > }
 cylinder { < 0.0, 0.0, -0.15 > < 0.0, 0.0, 0.15 > 0.04 translate <
1.93, -0.15, 0.0 > }
 cylinder { < 0.0, 0.0, -0.15 > < 0.0, 0.0, 0.15 > 0.04 translate <
2.72, -0.15, 0.0 > }

 cylinder { < 0.0, 0.0, -0.125 > < 0.0, 0.0, 0.125 > 0.45 }
 texture
 {
  gradient x
  texture_map
  {
   [ 0.000 MyBlack ]
   [ 0.185 MyBlack ]
   [ 0.185 MyWhite ]
   [ 0.600 MyWhite ]
   [ 1.000 MyBlack ]
  }
  scale < 10.5, 1.0, 1.0 >
  translate < -0.45, 0.0, 0.0 >
 }
}

#declare Wheels2 = union
{
 object { Wheels1 }

 union
 {
  cylinder { < 0.0, 0.0, -5.3 > < 0.0, 0.0, -5.4 > 0.6 translate <
-74.875, 1.8, 0.0 > texture { MyBlack } } // Propulsion
  cylinder { < 0.0, 0.0,  5.3 > < 0.0, 0.0,  5.4 > 0.6 translate <
-74.875, 1.8, 0.0 > texture { MyBlack } } // Propulsion
  box { < -0.5, 0.0, -5.3 > < 0.0, 2.0, -5.4 > texture { MyBlack }
rotate < 0.0, 0.0, 31.0 > translate < -74.875, 1.8, 0.0 > }
  box { <  0.0, 0.0, -5.3 > < 0.5, 2.0, -5.4 > texture { MyBlack }
rotate < 0.0, 0.0, 39.0 > translate < -74.875, 1.8, 0.0 > }
  box { < -0.5, 0.0,  5.3 > < 0.5, 2.0,  5.4 > texture { MyBlack }
rotate < 0.0, 0.0, 31.0 > translate < -74.875, 1.8, 0.0 > }
  box { <  0.0, 0.0,  5.3 > < 0.5, 2.0,  5.4 > texture { MyBlack }
rotate < 0.0, 0.0, 39.0 > translate < -74.875, 1.8, 0.0 > }
  cylinder { < 0.0, 2.0, -5.3 > < 0.0, 2.0, -5.4 > 0.45 texture {
MyBlack } rotate < 0.0, 0.0, 35.0 > translate < -74.875, 1.8, 0.0 > } //
Propulsion
  cylinder { < 0.0, 2.0,  5.3 > < 0.0, 2.0,  5.4 > 0.45 texture {
MyBlack } rotate < 0.0, 0.0, 35.0 > translate < -74.875, 1.8, 0.0 > } //
Propulsion
  cylinder { < 0.0, 2.0, -5.25 > < 0.0, 2.0, -5.7 > 0.2 texture {
MyBlack } rotate < 0.0, 0.0, 35.0 > translate < -74.875, 1.8, 0.0 > } //
Propulsion Mini Axis
  cylinder { < 0.0, 2.0,  5.25 > < 0.0, 2.0,  5.7 > 0.2 texture {
MyBlack } rotate < 0.0, 0.0, 35.0 > translate < -74.875, 1.8, 0.0 > } //
Propulsion Mini Axis
  translate < 0.0, 1.0, 0.0 >
 }

 object { Shaft rotate < 0.0, 0.0,  -47.0 > translate < 0.0, 2.0, -5.5 >
rotate < 0.0, 0.0, 35.0 > translate < -74.875, 2.8, 0.0 > }
 object { Shaft rotate < 0.0, 0.0,  -47.0 > translate < 0.0, 2.0,  5.5 >
rotate < 0.0, 0.0, 35.0 > translate < -74.875, 2.8, 0.0 > }

 object { Shaft scale < -1.95, 1.0, 1.0 > translate < 0.0, 2.0, -7.0 >
rotate < 0.0, 0.0, 8.0 > translate < -50.0, 2.8, 0.0 > }
 object { Shaft scale < -1.95, 1.0, 1.0 > translate < 0.0, 2.0,  7.0 >
rotate < 0.0, 0.0, 8.0 > translate < -50.0, 2.8, 0.0 > }
}

#declare MyAngle = 18.0;

#declare WheelBackPole = union
{
 box { < -0.1, 0.0, -0.02 > < 0.1, 4.5, 0.02 > }
 box { < -0.11, -0.01, -0.03 > < 0.11, 0.01, 0.03 > translate < 0.0,
4.49, 0.0 > }
 box { < -0.11, -0.01, -0.03 > < 0.11, 0.01, 0.03 > translate < 0.0,
4.39, 0.0 > }
 box { < -0.11, -0.01, -0.03 > < 0.11, 0.01, 0.03 > translate < 0.0,
4.20, 0.0 > }
 box { < -0.11, -0.01, -0.03 > < 0.11, 0.01, 0.03 > translate < 0.0,
4.01, 0.0 > }
 box { < 0.0, -0.1, -0.015 > < 1.1, 0.1, 0.015 > texture { MyWhite }
rotate < 0.0, 0.0, -(MyAngle/2) > translate < 0.0, 3.8, 0.0 > }
 box { < 0.0, -0.1, -0.015 > < 0.9, 0.1, 0.015 > texture { MyRed }
rotate < 0.0, 0.0, -(MyAngle/2) > translate < 0.0, 3.0, 0.0 > }
 box { < 0.0, -0.1, -0.015 > < 0.4, 0.1, 0.015 > texture { MyWhite }
rotate < 0.0, 0.0, -(MyAngle/2) > translate < 0.0, 1.5, 0.0 > }
 texture { MyWhite }
}

#declare WheelBackSegment = union
{
 box { < -0.13, 4.000, -4.9 > < -0.11, 4.5, 4.9 > }
 box { < -0.14, 4.205, -4.9 > < -0.10, 4.5, 4.9 > }
 box { < -0.14, 4.195, -4.9 > < -0.10, 3.9, 4.9 > }
 object { WheelBackPole translate < 0.0, 0.0, -4.8700 > }
 object { WheelBackPole translate < 0.0, 0.0, -3.6525 > }
 object { WheelBackPole translate < 0.0, 0.0, -2.4350 > }
 object { WheelBackPole translate < 0.0, 0.0, -1.2175 > }
 object { WheelBackPole translate < 0.0, 0.0,  0.0000 > }
 object { WheelBackPole translate < 0.0, 0.0,  1.2175 > }
 object { WheelBackPole translate < 0.0, 0.0,  2.4350 > }
 object { WheelBackPole translate < 0.0, 0.0,  3.6525 > }
 object { WheelBackPole translate < 0.0, 0.0,  4.8700 > }
 cylinder { < 0.0, 0.0, -0.03 > < 0.0, 0.0, 0.03 > 0.50 texture {
MyBlack } translate < 0.0, 0.0, -4.8700 > }
 cylinder { < 0.0, 0.0, -0.03 > < 0.0, 0.0, 0.03 > 0.50 texture {
MyBlack } translate < 0.0, 0.0, -3.6525 > }
 cylinder { < 0.0, 0.0, -0.03 > < 0.0, 0.0, 0.03 > 0.50 texture {
MyBlack } translate < 0.0, 0.0, -2.4350 > }
 cylinder { < 0.0, 0.0, -0.03 > < 0.0, 0.0, 0.03 > 0.50 texture {
MyBlack } translate < 0.0, 0.0, -1.2175 > }
 cylinder { < 0.0, 0.0, -0.03 > < 0.0, 0.0, 0.03 > 0.50 texture {
MyBlack } translate < 0.0, 0.0,  0.0000 > }
 cylinder { < 0.0, 0.0, -0.03 > < 0.0, 0.0, 0.03 > 0.50 texture {
MyBlack } translate < 0.0, 0.0,  1.2175 > }
 cylinder { < 0.0, 0.0, -0.03 > < 0.0, 0.0, 0.03 > 0.50 texture {
MyBlack } translate < 0.0, 0.0,  2.4350 > }
 cylinder { < 0.0, 0.0, -0.03 > < 0.0, 0.0, 0.03 > 0.50 texture {
MyBlack } translate < 0.0, 0.0,  3.6525 > }
 cylinder { < 0.0, 0.0, -0.03 > < 0.0, 0.0, 0.03 > 0.50 texture {
MyBlack } translate < 0.0, 0.0,  4.8700 > }
 texture { MyWhite }
 scale < -1.0, 1.0, 1.0 >
}

#declare WheelBack = union
{
 cylinder { < 0.0, 0.0, -5.41 > < 0.0, 0.0,  5.41 > 0.25 texture { MyRed
} } // Axis
 #declare CurrentAngle = 0.0;
 #while(CurrentAngle<360.0)
  object { WheelBackSegment rotate < 0.0, 0.0, CurrentAngle > }
  #declare CurrentAngle=CurrentAngle+MyAngle;
 #end

 rotate < 0.0, 0.0, 8.0 >
}

#declare WheelSideSegment = union       // 2.15
{
 box { < -0.13, 4.000, -1.0 > < -0.11, 4.5, 1.0 > }
 box { < -0.14, 4.205, -1.0 > < -0.10, 4.5, 1.0 > }
 box { < -0.14, 4.195, -1.0 > < -0.10, 3.9, 1.0 > }
 object { WheelBackPole translate < 0.0, 0.0, -0.9700 > }
 object { WheelBackPole translate < 0.0, 0.0,  0.0000 > }
 object { WheelBackPole translate < 0.0, 0.0,  0.9700 > }
 texture { MyRed }
 scale < -1.0, 1.0, 1.0 >
}

#declare WheelSide = union
{
 cylinder { < 0.0, 0.0, -1.075 > < 0.0, 0.0,  1.075 > 0.25 texture {
MyRed } } // Axis
 #declare CurrentAngle = 0.0;
 #while(CurrentAngle<360.0)
  object { WheelSideSegment rotate < 0.0, 0.0, CurrentAngle > }
  #declare CurrentAngle=CurrentAngle+MyAngle;
 #end

 rotate < 0.0, 0.0, 8.0 >
}

#declare Wheels3 = union
{
 object { Wheels2 }
 object { WheelBack translate < -74.875, 2.8, 0.0 > } // Back Wheel
 object { WheelSide translate < -50.0, 2.8, 8.825 > scale < 1.0, 1.0,
1.0 > } // Side Wheel
 object { WheelSide translate < -50.0, 2.8, 8.825 > scale < 1.0, 1.0,
-1.0 > } // Side Wheel

}

// Element - Housing 1
---------------------------------------------------------------

#declare HousingMain1 = union
{
 box { < -0.1, 0.0, -1.00000 > < -0.0001, 1.0, 1.00000 > texture { MyRed } }
 box { <  0.0, 0.0, -0.99999 > < -0.0001, 1.0, 0.99999 > texture {
MyBlack } }
}

#declare HousingMain2 = union
{
 object { HousingMain1 rotate < 0.0,  000.0, 0.0 > scale < 1.00, 5.0,
5.00 > translate < -69.90, 0.3,  0.00 > } // Behind Wheel

 difference // Shaft House
 {
  box { < -63.0, 0.3, -7.50 > < -70.0, 5.3,  7.50 > texture { MyWhite } }
  box { < -63.1, 0.2, -7.40 > < -69.9, 5.4,  7.40 > texture { MyBlack }
} // Room
  box { < -62.9, 0.2, -0.40 > < -63.1, 2.3,  0.40 > texture { MyBlack }
} // Door to Crew Housing
  box { < -69.8, 0.2, -5.00 > < -70.1, 5.4,  5.00 > texture { MyRed } }
 // Red Back Wall
  box { < -69.9, 2.0, -5.25 > < -70.1, 4.0, -5.75 > texture { MyWhite }
} // Shaft Hole Back
  box { < -69.9, 2.0,  5.25 > < -70.1, 4.0,  5.75 > texture { MyWhite }
} // Shaft Hole Back
  box { < -62.9, 2.0, -7.25 > < -63.1, 4.0, -6.75 > texture { MyWhite }
} // Shaft Hole Side
  box { < -62.9, 2.0,  7.25 > < -63.1, 4.0,  6.75 > texture { MyWhite }
} // Shaft Hole Side
  box { < -69.8, 0.2, -6.25 > < -70.1, 2.3, -7.25 > texture { MyWhite }
} // Back Door
  box { < -69.8, 0.2,  6.25 > < -70.1, 2.3,  7.25 > texture { MyWhite }
} // Back Door
  box { < -67.7, 4.1, -7.60 > < -67.9, 4.9,  7.60 > texture { MyWhite }
} // Side Windows
  box { < -69.3, 4.1, -7.60 > < -69.5, 4.9,  7.60 > texture { MyWhite }
} // Side Windows
  box { < -63.1, 4.1, -5.60 > < -62.9, 4.9, -6.20 > texture { MyWhite }
} // Front Windows
  box { < -63.1, 4.1,  5.60 > < -62.9, 4.9,  6.20 > texture { MyWhite }
} // Front Windows
  box { < -63.1, 4.1, -4.30 > < -62.9, 4.9, -4.90 > texture { MyWhite }
} // Front Windows
  box { < -63.1, 4.1,  4.30 > < -62.9, 4.9,  4.90 > texture { MyWhite }
} // Front Windows
  box { < -63.1, 1.6, -4.30 > < -62.9, 2.2, -4.90 > texture { MyWhite }
} // Front Windows
  box { < -63.1, 1.6,  4.30 > < -62.9, 2.2,  4.90 > texture { MyWhite }
} // Front Windows
 }
 difference // Crew Housing
 {
  union
  {
   box { < -35.0, 0.3, -4.0 > < -63.0, 5.3,  4.0 > }
   box { < -35.0, 2.8, -6.0 > < -55.0, 5.3,  6.0 > }
   texture { MyWhite }
  }
  box { < -35.1, 0.2, -3.8 > < -60.0, 5.4, 3.8 > texture { MyBlack } }
// Room
  box { < -35.1, 2.8, -5.9 > < -54.9, 5.4, 5.9 > texture { MyBlack } }
// Small Upper Room between Side Wheels and Crew
  box { < -35.1, 2.8, -9.9 > < -44.9, 5.4, 9.9 > texture { MyBlack } }
// Small Upper Room before Side Wheels and Crew
  box { < -59.9, 2.8, -3.8 > < -62.9, 5.4, 3.8 > texture { MyBlack } }
// Upper Small Room above Passage
  box { < -61.0, 0.2, -4.1 > < -63.1, 2.8, 4.1 > texture { MyWhite } }
// Passage
  box { < -61.2, 4.1, -4.1 > < -61.8, 4.9, 4.1 > texture { MyWhite } }
// Upper Windows
  box { < -59.2, 4.1, -4.1 > < -59.8, 4.9, 4.1 > texture { MyWhite } }
// Upper Windows
  box { < -57.2, 4.1, -4.1 > < -57.8, 4.9, 4.1 > texture { MyWhite } }
// Upper Windows
  box { < -55.2, 4.1, -4.1 > < -55.8, 4.9, 4.1 > texture { MyWhite } }
// Upper Windows
  box { < -59.2, 4.1, -4.1 > < -59.8, 4.9, 4.1 > texture { MyWhite } }
// Lower Windows
  box { < -57.2, 4.1, -4.1 > < -57.8, 4.9, 4.1 > texture { MyWhite } }
// Lower Windows
  box { < -55.2, 4.1, -4.1 > < -55.8, 4.9, 4.1 > texture { MyWhite } }
// Lower Windows
 }
 difference // Wheel Housing
 {
  box { < -35.0, 0.3, -10.00 > < -55.0, 5.3, -6.00 > texture { MyWhite } }
  box { < -45.0, 0.2,  -9.90 > < -54.9, 5.4, -6.10 > texture { MyBlack }
} // Wheel Room
  box { < -35.1, 0.2,  -9.90 > < -44.9, 5.4, -6.10 > texture { MyBlack }
} // Room
  box { < -35.1, 2.8,  -6.10 > < -44.9, 5.4, -5.90 > texture { MyBlack }
} // Room
  box { < -55.1, 0.5,  -6.75 > < -54.9, 5.3, -7.25 > texture { MyBlack }
} // Shaft Hole
  box { < -35.95, 4.1, -9.9 > < -36.55, 4.9, -10.1 > texture { MyWhite }
} // Upper Windows   2.50
  box { < -38.45, 4.1, -9.9 > < -39.05, 4.9, -10.1 > texture { MyWhite }
} // Upper Windows
  box { < -40.95, 4.1, -9.9 > < -41.55, 4.9, -10.1 > texture { MyWhite }
} // Upper Windows
  box { < -43.45, 4.1, -9.9 > < -44.05, 4.9, -10.1 > texture { MyWhite }
} // Upper Windows
  box { < -34.90, 4.1, -7.5 > < -35.10, 4.9, -08.1 > texture { MyWhite }
} // Upper Front Windows
  box { < -34.90, 4.1, -8.7 > < -35.10, 4.9, -09.3 > texture { MyWhite }
} // Upper Front Windows
  box { < -35.95, 1.3, -9.9 > < -36.55, 2.1, -10.1 > texture { MyWhite }
} // Lower Windows   2.50
  box { < -38.45, 1.3, -9.9 > < -39.05, 2.1, -10.1 > texture { MyWhite }
} // Lower Windows
  box { < -40.95, 1.3, -9.9 > < -41.55, 2.1, -10.1 > texture { MyWhite }
} // Lower Windows
  box { < -43.45, 1.3, -9.9 > < -44.05, 2.1, -10.1 > texture { MyWhite }
} // Lower Windows
  box { < -34.90, 1.3, -7.5 > < -35.10, 2.1, -08.1 > texture { MyWhite }
} // Lower Front Windows
  box { < -34.90, 1.3, -8.7 > < -35.10, 2.1, -09.3 > texture { MyWhite }
} // Lower Front Windows
 }
 difference // Wheel Housing
 {
  box { < -35.0, 0.3,  10.00 > < -55.0, 5.3,  6.00 > texture { MyWhite } }
  box { < -45.0, 0.2,   9.90 > < -54.9, 5.4,  6.10 > texture { MyBlack }
} // Wheel Room
  box { < -35.1, 0.2,   9.90 > < -44.9, 5.4,  6.10 > texture { MyBlack }
} // Room
  box { < -35.1, 2.8,   6.10 > < -44.9, 5.4,  5.90 > texture { MyBlack }
} // Room
  box { < -55.1, 0.5,   6.75 > < -54.9, 5.3,  7.25 > texture { MyBlack }
} // Shaft Hole
  box { < -35.95, 4.1,  9.9 > < -36.55, 4.9,  10.1 > texture { MyWhite }
} // Upper Windows   2.50
  box { < -38.45, 4.1,  9.9 > < -39.05, 4.9,  10.1 > texture { MyWhite }
} // Upper Windows
  box { < -40.95, 4.1,  9.9 > < -41.55, 4.9,  10.1 > texture { MyWhite }
} // Upper Windows
  box { < -42.45, 4.1,  9.9 > < -44.05, 4.9,  10.1 > texture { MyWhite }
} // Upper Windows
  box { < -34.90, 4.1,  7.5 > < -35.10, 4.9,  08.1 > texture { MyWhite }
} // Upper Front Windows
  box { < -34.90, 4.1,  8.7 > < -35.10, 4.9,  09.3 > texture { MyWhite }
} // Upper Front Windows
  box { < -35.95, 1.3,  9.9 > < -36.55, 2.1,  10.1 > texture { MyWhite }
} // Lower Windows   2.50
  box { < -38.45, 1.3,  9.9 > < -39.05, 2.1,  10.1 > texture { MyWhite }
} // Lower Windows
  box { < -40.95, 1.3,  9.9 > < -41.55, 2.1,  10.1 > texture { MyWhite }
} // Lower Windows
  box { < -43.45, 1.3,  9.9 > < -44.05, 2.1,  10.1 > texture { MyWhite }
} // Lower Windows
  box { < -34.90, 1.3,  7.5 > < -35.10, 2.1,  08.1 > texture { MyWhite }
} // Lower Front Windows
  box { < -34.90, 1.3,  8.7 > < -35.10, 2.1,  09.3 > texture { MyWhite }
} // Lower Front Windows
 }
 difference // Storage
 {
  box { < -25.0, 0.3, -7.5 > <  00.0, 5.3, 7.5 > texture { MyYellow } }
  box { < -24.9, 0.2, -7.4 > < -00.1, 5.4, 7.4 > texture { MyBlack } }
 }
}

// Element - Posts 1
---------------------------------------------------------------

#declare PostsMain1 = union
{
 union // Brown Posts
 {
  #declare MyDistance =    4.0;
  #declare TotalDistance = -28.0;
  #while(TotalDistance<0.0)
   box { < -0.1, -0.1, -9.9 > < 0.1, 5.4, -10.01 > translate <
TotalDistance, 0.0, 0.0 > }
   box { < -0.1, -0.1,  9.9 > < 0.1, 5.4,  10.01 > translate <
TotalDistance, 0.0, 0.0 > }
   #declare TotalDistance=TotalDistance+MyDistance;
  #end

  box { < -0.1, -0.1, -0.1 > < 0.1, 5.8,  0.1 > rotate < -25.0, 0.0, 0.0
> translate < -24.0, 0.0, -07.5 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.8,  0.1 > rotate <  25.0, 0.0, 0.0
> translate < -24.0, 0.0,  07.5 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.8,  0.1 > rotate < -25.0, 0.0, 0.0
> translate < -16.0, 0.0, -07.5 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.8,  0.1 > rotate <  25.0, 0.0, 0.0
> translate < -16.0, 0.0,  07.5 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.8,  0.1 > rotate < -25.0, 0.0, 0.0
> translate < -08.0, 0.0, -07.5 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.8,  0.1 > rotate <  25.0, 0.0, 0.0
> translate < -08.0, 0.0,  07.5 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.8,  0.1 > rotate < -25.0, 0.0, 0.0
> translate < -00.0, 0.0, -07.5 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.8,  0.1 > rotate <  25.0, 0.0, 0.0
> translate < -00.0, 0.0,  07.5 > }

  texture { MyBrown }
 }
 union // White Posts
 {
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -70.0, 0.0,
-10.0 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -70.0, 0.0,
10.0 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.8,  0.1 > rotate < -25.0, 0.0, 0.0
> translate < -70.0, 0.0, -07.5 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.8,  0.1 > rotate <  25.0, 0.0, 0.0
> translate < -70.0, 0.0,  07.5 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -63.0, 0.0,
-10.0 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -63.0, 0.0,
10.0 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.8,  0.1 > rotate < -25.0, 0.0, 0.0
> translate < -63.0, 0.0, -07.5 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.8,  0.1 > rotate <  25.0, 0.0, 0.0
> translate < -63.0, 0.0,  07.5 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -55.0, 0.0,
-10.0 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -55.0, 0.0,
10.0 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -53.0, 0.0,
-10.0 > } // Half-Round Deco
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -53.0, 0.0,
10.0 > } // Half-Round Deco
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -47.0, 0.0,
-10.0 > } // Half-Round Deco
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -47.0, 0.0,
10.0 > } // Half-Round Deco
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -45.0, 0.0,
-10.0 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -45.0, 0.0,
10.0 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -42.5, 0.0,
-10.0 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -42.5, 0.0,
10.0 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -40.0, 0.0,
-10.0 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -40.0, 0.0,
10.0 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -37.5, 0.0,
-10.0 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -37.5, 0.0,
10.0 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -35.0, 0.0,
-10.0 > }
  box { < -0.1, -0.1, -0.1 > < 0.1, 5.4,  0.1 > translate < -35.0, 0.0,
10.0 > }

  box { < -35.0, -0.1, -0.05 > < -55.0, 0.1,  0.05 > translate < 0.0,
5.3, -10.0 > } // Horizontal on Side Wheel Housing
  box { < -35.0, -0.1, -0.05 > < -55.0, 0.1,  0.05 > translate < 0.0,
5.3,  10.0 > } // Horizontal on Side Wheel Housing
  box { < -35.0, -0.1, -0.05 > < -55.0, 0.1,  0.05 > translate < 0.0,
2.8, -10.0 > } // Horizontal on Side Wheel Housing
  box { < -35.0, -0.1, -0.05 > < -55.0, 0.1,  0.05 > translate < 0.0,
2.8,  10.0 > } // Horizontal on Side Wheel Housing

  texture { MyWhite }
 }
}

#declare PostsMain2 = union
{
 object { PostsMain1 }

}

// Element - Deck Load
---------------------------------------------------------------

#macro DeckLoad1(MyFactor,MyKind)
 #declare MyFactor = 1.0-(1.0/(rand(MyRandom)*MyFactor));
 #declare MyTwist =  rand(MyRandom)*5.0;
 #declare MyX =      rand(MyRandom)*0.1;
 #declare MyZ =      rand(MyRandom)*0.1;

 #declare MyWay =    rand(MyRandom);
 #if(MyWay<0.5)
  #declare MyX=MyX*(-1.0);
 else
  #declare MyX=MyX*(+1.0);
 #end

 #declare MyWay =    rand(MyRandom);
 #if(MyWay<0.5)
  #declare MyZ=MyZ*(-1.0);
 else
  #declare MyZ=MyZ*(+1.0);
 #end

 #declare MyWay =    rand(MyRandom);
 #if(MyWay<0.5)
  #declare MyTwist=MyTwist*(-1.0);
 else
  #declare MyTwist=MyTwist*(+1.0);
 #end

 #if(MyKind="Hay")
  #declare MyColor1 = color rgb < 0.8156863, 0.7529412, 0.5333333 >;
  #declare MyColor2 = color rgb < 0.8156863, 0.7529412, 0.5333333 >;
  #declare MyColor3 = color rgb < 0.8156863, 0.7529412, 0.5333333 >;
 #elseif(MyKind="Cotton")
  #declare MyColor1 = color rgb < 0.8470588, 0.8039216, 0.8039216 >;
  #declare MyColor2 = color rgb < 0.8039216, 0.7450980, 0.7294118 >;
  #declare MyColor3 = color rgb < 0.8392157, 0.7921569, 0.6941176 >;
 #end
 #declare MyRopeColor = color rgb < 0.5294118, 0.3882353, 0.3058824 >;
 union
 {
 superellipsoid { < 0.75, 0.25 > }
 texture
 {
  pigment
  {
   #if(MyKind="Hay")
    gradient z
    color_map
    {
     [ 0.00 MyColor1 * MyFactor]
     [ 0.18 MyColor1 * MyFactor ]
     [ 0.18 MyRopeColor ] // Rope
     [ 0.22 MyRopeColor ] // Rope
     [ 0.22 MyColor1 * MyFactor ]
     [ 0.78 MyColor1 * MyFactor ]
     [ 0.78 MyRopeColor ] // Rope
     [ 0.82 MyRopeColor ] // Rope
     [ 0.82 MyColor1 * MyFactor ]
     [ 1.00 MyColor1 * MyFactor ]
    }
   #elseif(MyKind="Cotton")
    gradient z
    color_map
    {
     [ 0.00 color rgb < 0.8470588, 0.8039216, 0.8039216 > * MyFactor]
     [ 0.18 color rgb < 0.8470588, 0.8039216, 0.8039216 > * MyFactor ]
     [ 0.18 MyRopeColor ] // Rope
     [ 0.22 MyRopeColor ] // Rope
     [ 0.22 color rgb < 0.8039216, 0.7450980, 0.7294118 > * MyFactor ]
     [ 0.78 color rgb < 0.8039216, 0.7450980, 0.7294118 > * MyFactor ]
     [ 0.78 MyRopeColor ] // Rope
     [ 0.82 MyRopeColor ] // Rope
     [ 0.82 color rgb < 0.8392157, 0.7921569, 0.6941176 > * MyFactor ]
     [ 1.00 color rgb < 0.8392157, 0.7921569, 0.6941176 > * MyFactor ]
    }
    rotate MyTwist
   #end
   }
   #if(MyKind="Hay")
    finish { crand 0.75 }
   #end
  }
  translate < MyX, 1.0, MyZ >
  scale < 0.5, 0.5, 0.6 >
  rotate < 0.0, MyTwist, 0.0 >
 }
#end

#declare DeckLoad2 = union
{
 object { DeckLoad1(1.0,"Hay") rotate < 0.0, 10.0, 0.0 > translate <
-71.0, 0.3, -6.0 > }
}

// Element - Side Wheels Covers
---------------------------------------------------------------

#declare SideWheelsCovers1 = difference
{
 cylinder { <  0.0,  0.0, -0.000001 > < 0.0, 0.0, 0.000001 > 1.0 }
 box      { < -1.1, -1.1, -0.000002 > < 1.1, 0.0, 0.000002 > }
}

#declare SideWheelsCovers2 = difference
{
 cylinder { <  0.0,  0.0, -6.0 > < 0.0, 0.0, -10.0 > 5.0 texture {
MyWhite } }
 cylinder { <  0.0,  0.0, -6.1 > < 0.0, 0.0,  -9.9 > 4.9 texture {
MyBlack } }
 box      { < -5.1, -5.1, -5.9 > < 5.1, 0.0, -10.1 >     texture {
MyWhite } }
}

#declare SideWheelsCovers3 = union
{
 object { SideWheelsCovers2 scale < 1.0, 1.0, -1.0 > translate < -50.0,
5.3, 0.0 > }
 object { SideWheelsCovers2 scale < 1.0, 1.0,  1.0 > translate < -50.0,
5.3, 0.0 > }
 object
 {
  SideWheelsCovers1
  scale < 5.0, 5.0,  1.0 >
  texture { MyWhite }
  texture
  {
   pigment
   {
    image_map { png "C:\Documents and Settings\Sven\My Documents\My
Pictures\POV-Ray Textures\The Long Wide River - 02.png" once }
   }
   translate < -0.5, 0.0, 0.0 >
   scale < 6.0, 3.0, -6.0 >
  }
  translate < -50.0, 5.3, -10.0 >
 }
 object
 {
  SideWheelsCovers1
  scale < 5.0, 5.0, -1.0 >
  texture { MyWhite }
  texture
  {
   pigment
   {
    image_map { png "C:\Documents and Settings\Sven\My Documents\My
Pictures\POV-Ray Textures\The Long Wide River - 02.png" once }
   }
   translate < -0.5, 0.0, 0.0 >
   scale < 6.0, 3.0,  6.0 >
  }
  translate < -50.0, 5.3,  10.0 >
 }
}

#declare SideWheelsCovers4 = union
{
 object { SideWheelsCovers3 }
 difference
 {
  cylinder { < 0.0, 0.0, -0.1 > < 0.0, 0.0, 0.1 > 5.1 }
  cylinder { < 0.0, 0.0, -0.2 > < 0.0, 0.0, 0.2 > 4.9 }
  box { < -5.2, -5.2, -0.2 > < 5.2, 0.0, 0.2 > }
  texture { MyWhite }
  translate < -50.0, 5.3, -10.0 >
 }
 object { SideWheelsCovers3 }
 difference
 {
  cylinder { < 0.0, 0.0, -0.1 > < 0.0, 0.0, 0.1 > 5.1 }
  cylinder { < 0.0, 0.0, -0.2 > < 0.0, 0.0, 0.2 > 4.9 }
  box { < -5.2, -5.2, -0.2 > < 5.2, 0.0, 0.2 > }
  texture { MyWhite }
  translate < -50.0, 5.3,  10.0 >
 }
 difference
 {
  cylinder { < 0.0, 0.0, -0.1 > < 0.0, 0.0, 0.1 > 3.1 }
  cylinder { < 0.0, 0.0, -0.2 > < 0.0, 0.0, 0.2 > 2.9 }
  box { < -3.2, -3.2, -0.2 > < 3.2, 0.0, 0.2 > }
  texture { MyWhite }
  translate < -50.0, 5.3, -10.0 >
 }
 object { SideWheelsCovers3 }
 difference
 {
  cylinder { < 0.0, 0.0, -0.1 > < 0.0, 0.0, 0.1 > 3.1 }
  cylinder { < 0.0, 0.0, -0.2 > < 0.0, 0.0, 0.2 > 2.9 }
  box { < -3.2, -3.2, -0.2 > < 3.2, 0.0, 0.2 > }
  texture { MyWhite }
  translate < -50.0, 5.3,  10.0 >
 }
 union
 {
  #declare MyGreenAngle =    5.0;
  #declare TotalGreenAngle = 0.0;
  #declare LumberWidth =     0.4;
  #while(TotalGreenAngle<180)
   box { < -(LumberWidth/2), 4.975, -6.0 > < (LumberWidth/2), 5.11,
-10.0 > rotate < 0.0, 0.0, -90.0 > rotate < 0.0, 0.0, TotalGreenAngle >
texture { MyGreen } }
   box { < -(LumberWidth/2), 4.975,  6.0 > < (LumberWidth/2), 5.11,
10.0 > rotate < 0.0, 0.0, -90.0 > rotate < 0.0, 0.0, TotalGreenAngle >
texture { MyGreen } }
   #declare TotalGreenAngle=TotalGreenAngle+MyGreenAngle;
  #end
  translate < -50.0, 5.3, 0.0 >
 }
}

// Element - Rudders
---------------------------------------------------------------



// Ship ---------------------------------------------------------------

union
{
 object { HullComplete4 }
 object { Wheels3 }
 object { DeckMain5 }
 object { HousingMain2 }
 object { PostsMain2 }
 object { SideWheelsCovers4 }
 object { DeckLoad2 }

}

plane
{
 y,-0.75
 texture
 {
  pigment { color rgbf < 0.1333333/2, 0.4235294/2, 0.4431373/2, 0.5 > }
  #if(MyWaterTex)
   normal { granite 1.0 scale 10.0 }
   finish { reflection 0.3 }
  #end
 }
}

background { color rgb < 0.4588235,  0.5803922,  0.6745098 > }
/**/

---
Diese E-Mail wurde von AVG auf Viren geprüft.
http://www.avg.com


Post a reply to this message

Copyright 2003-2008 Persistence of Vision Raytracer Pty. Ltd.