VRML CODE for THE PIW PAPERMACHINE WORLD
The few lines of code listed are a small portion of the complete code that contains well over 5,000 lines and uses 1.5 MB. The complete code is to large a file to practically present in a single document on the Internet. The code shown demonstrates what the VRML language for this world looks like. The sets of numbers associated with the commands and nodes are the positions assigned for the x, y and z axis. The numbers are derived by making scale layouts and assigning axis positions for each intersection of the part. The part is defined in the code by shape, geometry, material and size. The first machine part in the code follows the lighting and viewpoint instruction easily identified by red text. The # character preceding a line is a command that the line be ignored. The line contains reference information or location markers for use of the code writer. Constructing this world including scale layouts and writing the code took well over 500 hours.
For a complete primer of VRML language go to VRML Primer and Tutorial by the University of Geneva
#VRML V2.0 utf8
# Manually rendered using the WordPad editor.
# Code written by Luigi Bagnato 1998
# Finishing and Converting Net
# <http://www.citicom.com/~lbagnato/home.html>
# title - fourdrinier paper machine
NavigationInfo {
headlight FALSE
speed 7
type [ "EXAMINE", "ANY" ]
}
DirectionalLight {
intensity 0.7
direction 0 -1 -1
}
DirectionalLight {
intensity 0.7
direction -1 -1 -1
}
Background {
groundAngle [ 0.9, 1.5, 1.57 ]
groundColor [
0.21 0.18 0.66,
0.2 0.44 0.85,
0.51 0.81 0.95,
0.77 0.8 0.82
]
skyAngle [ 0.9, 1.5, 1.57 ]
skyColor [
0.21 0.18 0.66,
0.2 0.44 0.85,
0.51 0.81 0.95,
0.77 0.8 0.82
]
}
Transform {
children [
Viewpoint {
position 60 100 230
orientation 1 1 0 -.61054
description "tour foreman's view"
}
Viewpoint {
fieldOfView .9
position 70 10 80
orientation 1 1 0 0
description "view from control room"
}
Viewpoint {
fieldOfView 1.3
position 250 15 80
orientation 1 1 0 0
description "dryer section view"
}
Viewpoint {
fieldOfView 1.3
position 380 15 80
orientation 1 1 0 0
description "backtender's view"
}
Viewpoint {
fieldOfView 1.3
position 525 15 80
orientation 1 1 0 0
description "4th hand's view at winder"
}
Viewpoint {
fieldOfView .3
position 300 1000 230
orientation 1 0 0 -1.4
description "view from gantry crane"
}
]
}
Group {
children [
DirectionalLight{
color 1 1 1
direction 1 0 0
intensity .25
}
DirectionalLight{
color 1 1 1
direction -1 0 0
intensity .25
}
DirectionalLight{
color 1 1 1
direction 0 1 0
intensity .25
}
DirectionalLight{
color 1 1 1
direction -0 1 0
intensity .25
}
DirectionalLight{
color 1 1 1
direction 0 0 1
intensity .25
}
DirectionalLight{
color 1 1 1
direction -0 0 1
intensity .25
}
]
}
# machine track-front
Transform {
translation 280 -.25 22.5
children Shape {
appearance Appearance{
material Material { diffuseColor .95 .95 .95
}
}
geometry Box {
size 580 .5 4}
}
}
# machine track-back
Transform {
translation 280 -.25 -22.5
children Shape {
appearance Appearance{
material Material { diffuseColor .95 .95 .95}
}
geometry Box {
size 580 .5 4}
}
}
# floor between track
Transform {
translation 280 -1 0
children Shape {
appearance Appearance{
material Material { diffuseColor 0 0 0
}
}
geometry Box {
size 580 .5 45}
}
}
# headbox
# header base
Transform {
translation -2 1.5 0
children Shape {
appearance Appearance{
material Material { diffuseColor .5 .5 .5}
}
geometry Box {
size 4 3 44}
}
}
# box base
Transform {
translation 6 2 0
children Shape {
appearance Appearance{
material Material { diffuseColor .5 .5 .5}
}
geometry Box {
size 2.5 4 44.5}
}
}
# top box
Transform {
translation 9.5 19 0
children Shape {
appearance Appearance{
material Material { diffuseColor 0 1 .03
}
}
geometry Box {
size 2 4 44}
}
}
# headbox cap
Transform {
translation 6 17.125 0
children Shape {
appearance Appearance{
material Material { diffuseColor 0 1 .03}
}
geometry Box {
size 10 .25 44}
}
}
# headbox structure
Transform {
translation 0 0 0
children Shape {
appearance Appearance{
material Material { diffuseColor 0 1 .03
}
}
geometry IndexedFaceSet {
ccw FALSE