{
   TCanvas *b  = new TCanvas("b","Boxes",0,0,600,600);
   TPad    *z2 = new TPad("z2","z2", 0.1, 0.1, 0.9, 0.9); z2->Draw();
	
   z2->cd();
   //delete previous geometry objects in case this script is reexecuted
   if (gGeometry) {
      gGeometry->GetListOfNodes()->Delete();
      gGeometry->GetListOfShapes()->Delete();
   }

   //  Define some volumes
   brik0 = new TBRIK("BRIK0","BRIK0","void",40,40,40);
   trd1  = new TTRD1("TRD1","TRD1","void",60,20,40,40);
   trd2  = new TTRD2("TRD2","TRD2","void",60,20,70,30,50);
   trap  = new TTRAP("TRAP","TRAP","void",100,0,0,60,40,90,15,120,80,180,15);
   para  = new TPARA("PARA","PARA","void",100,200,200,15,30,30);
   gtra  = new TGTRA("GTRA","GTRA","void",390,0,0,20,60,40,90,15,120,80,180,15);
   tube  = new TTUBE("TUBE","TUBE","void",150,200,400);


   //  Build the geometry hierarchy
   TNode *node0 = new TNode("NODE0","NODE0","BRIK0");
      node0->SetLineColor(4);
   node0->cd();
   Double_t r0,r1,r2,r3;

   TNode *node;
   r0 = gRandom->Rndm();
   r1 = gRandom->Rndm();
   r2 = gRandom->Rndm();
   node  = new TNode("NODE","NODE","BRIK0",r0*1000,r1*1000,r2*1000);
   node->SetLineColor(3);
   r0 = gRandom->Rndm();
   r1 = gRandom->Rndm();
   r2 = gRandom->Rndm();
   node  = new TNode("NODE","NODE","TRD1",r0*1000,r1*1000,r2*1000);
   node->SetLineColor(2);
   r0 = gRandom->Rndm();
   r1 = gRandom->Rndm();
   r2 = gRandom->Rndm();
   node  = new TNode("NODE","NODE","TRD2",r0*1000,r1*1000,r2*1000);
   node->SetLineColor(4);
   r0 = gRandom->Rndm();
   r1 = gRandom->Rndm();
   r2 = gRandom->Rndm();
   node0->Draw();
   b->Update();
   z2->x3d("ogl");
   b->WaitPrimitive();
   TVirtualViewer3D *v3 = z2->GetViewer3D();

   node  = new TNode("NODE","NODE","TRAP",r0*1000,r1*1000,r2*1000);
   node->SetLineColor(5);
   r0 = gRandom->Rndm();
   r1 = gRandom->Rndm();
   r2 = gRandom->Rndm();
   node  = new TNode("NODE","NODE","PARA",r0*1000,r1*1000,r2*1000);
   node->SetLineColor(6);
   r0 = gRandom->Rndm();
   r1 = gRandom->Rndm();
   r2 = gRandom->Rndm();
   node  = new TNode("NODE","NODE","TUBE",r0*1000,r1*1000,r2*1000);
   node->SetLineColor(7);
   r0 = gRandom->Rndm();
   r1 = gRandom->Rndm();
   r2 = gRandom->Rndm();
   node  = new TNode("NODE","NODE","GTRA",r0*1000,r1*1000,r2*1000);
   node->SetLineColor(1);
   node0->Draw();
   v3->CreateScene("ogl");
}

