Beschreibungen und Beispiele zum Raytracer POV-Ray von Friedrich A. Lohmüller
    POV-Ray Beispiele - Die Erstellung von Objekten für POV-Ray
English English English
Italiano Italiano
Français français

Home
- POV-Ray Tutorial

  - POV-Ray Beispiele
     Inhaltsübersicht
  - Geometrie
  - Architektur
  - Technik
    - Leiter
    - Masten
    - Geländer
    - Brücke
    - Röhren
    - Rohr-Abzweigung
    - Rohr-Absperrhahn
    - Kette
    - Drahtspule
    - Torpedo
    - Cruise Missile
    - Rakete
    - Rad
    - Truck
    - Propeller
    - Flugzeug
    - Kanu
    - Gitarrenbody
    - 7-Segment Display
    - Flachbandkabel
    - Kabelbaum
                                       
 
Tubes

Rohr-Absperrhahn

Objekte: isosurface, cylinder, Hexagon, sphere.
Methoden: #macro, #declare, #local, union, difference, #while.
Verwendet: #include "shapes.inc" (a standard include file!)
                  macro "Tube_Fork_000"
                  #include "shapes_lo.inc"
Ein Makro für einen Absperrhahn mit Rad für Pipeline-Röhren mit Flanschen.
Alle Flansche auch mit Schrauben und Muttern.

Hierbei werden alle Abmessungen und Texturen zunächst "undeklariert" gelassen da sie am Ende in einem Makro, das alle Teile zusammenfasst deklariert werden.
R1 = Radius der Hauptröhre, R2 = Radius des seitlichen Rohrs,
F_Add = Breite der Flansche über den Rohrradius hinaus.
F_D = Flanschdicke,
FB_R = Randradius der Flansche,

  Zunächst bauen wir Flansche ähnlich zu den Flaschen im Beispiel "Röhren" jedoch diesmal als ein Makro mit den Variablen Rohrradius "Tube_Rad" und Flanschbreite "Flange_Add":
Wir tun dies auf dies Weise, weil wir die Flansche an die Enden von Röhren mit zwei verschiedenen Radien R1 und R2 anpassen müssen.

#macro Flange ( Tube_Rad, Flange_Add )
  ... see scene file for details ...
#end //-------- end submacro -----------------

  Danach bauen wir einen Deckel für das Rohrende wobei wir das obige Makro verwenden:
#declare Side_Cover =
union{ // flange + cover plate
 object{ Flange( R2, F_Add ) }
 object{ Round_Cylinder(
         <0,0,0>,<F_D/2,0,0>,R2+F_Add,FB_R,0)
         texture{Flange_Texture_1}}
} // end of union ----------------------------

  Dann benötigen wir ein Rad für den Absperrhahn:
Radabmessungen: Wheel_Axis_Len = Länge der Achse,
Wheel_Rmin und Wheel_Rmaj der kleine Radius und der große Radius des Rades.

#declare Wheel =
union{
 // axis holder
 object{ Round_Cylinder(
         <-FB_R,0,0>,<Wheel_Axis_Len/2,0,0>,
         2*Wheel_Rmin, FB_R, 0)
         texture{Flange_Texture_1}}
 object{ Round_Cylinder(
         <-FB_R,0,0>,<Wheel_Axis_Len/5,0,0>,
         2.5*Wheel_Rmin, FB_R, 0)
         texture{Flange_Texture_1}}
 // wheel + axis
 union{ //2
  cylinder{<0,0,0>,
           <Wheel_Axis_Len,0,0>,
           Wheel_Rmin}
   union{ //3
    torus{ Wheel_Rmaj, Wheel_Rmin
           rotate<0,0,90> }
    cylinder{<0,0,-Wheel_Rmaj>,
             <0,0,Wheel_Rmaj>,
             Wheel_Rmin*2/3 }
    cylinder{<0,0,-Wheel_Rmaj>,
            <0,0,Wheel_Rmaj>,
            Wheel_Rmin*2/3 rotate<90,0,0>}
    sphere{<0,0,0>,Wheel_Rmin*1.75
           scale<0.67,1,1> }
    scale<0.8,1,1>
    translate<Wheel_Axis_Len,0,0>
   } // uni3
  texture{Wheel_Texture_1}
 } // uni2
} // end of union ----------------------------


  Und last but not least verwenden wir mein Makro Tube_Fork_000 aus "Rohr-Abzweigung"
flange with nuts
Ein Flansch mit Schraubenmuttern
flange with tube end cover
Ein Flansch mit Deckel
stopcock wheel
Ein Flansch mit Deckel und Rad für Absperrhahn
tube fork macro
Das Makro "Rohr-Abzweigung"

Um die Sache komplett zu machen müssen wir alle Teile in in ein Makro
hier "Tube_Stopcock_000" genannt
Neben den Dimensionen sind darin auch einige Schalter eingebaut, deren Funktion meist selbsterklärend ist!
object{
  Tube_Stopcock_000(
   0.50, // R1, // main tube radius: 1~0.25
   0.35, // R2, // side tube radius: 1.5~0.20
   0.05, // Tube_D, // tube material thickness
   0.15, // Blobfactor; // 0.1~0.002 ; max0.20
   0.05, // isosurface radius correction,
   0, // Test_End_Cylinders_ON, 1=on, 0=off

   0.14, // F_Add, // flanch radius add
   0.05, // F_D,   // flanch thickness
   0.01, // FB_R, // Flanch_Border_Radius

   1, // Nuts_ON, // 0 = no nuts but holes;
                  // 1 = nuts - no holes
   0.085, // Nut_Scale, // ~0.035
   12, // Number_of_Nuts, // ~ 16,

   1,// Side_End_Cover_ON,
   1,// Stopcock_wheel_ON,
   20,// Stopcock_wheel_Rotation_Angle,
   // wheel sitzes
   0.05, //  Wheel_Rmin,
   0.45, //  Wheel_Rmaj,
   0.35, //  Wheel_Axis_Len,
      ) // ------------------------------------
 rotate <0,0,90>
} // ------------------------------------------
Szenenbeschreibung dieser Szene für POV-Ray:
"Tube_Stopcock_000_2.txt" oder
"Tube_Stopcock_000_2.pov"
tube stopcock macro
Eine Rohr-Abzweigung mit Flanschen und seitlichem Deckel
rotiert mit "rotate <0,0,90>"
tube stopcock macro
Eine Rohr-Abzweigung mit Flanschen und Absperrhahn
rotiert mit "rotate <0,0,90>"
Betreffs dem Download dieser Figur als ein gebrauchsfertiges Objekt für POV-Ray
in einer Include-Datei definiert als Makro und Beispieldateien siehe:
POV-Ray Objects-Seite - Röhren, Rohre mit Flanschen
top

© Friedrich A. Lohmüller, 2009
www.f-lohmueller.de