home *** CD-ROM | disk | FTP | other *** search
/ ftp.dds.no / ftp.dds.no.tar / ftp.dds.no / pub / Customers / sys-js.txt / TroxPegasusBc.js < prev    next >
Text File  |  2014-05-07  |  5KB  |  160 lines

  1. function DdsScript.Draw()
  2.   {
  3.   var 
  4.   dTwist = GdpVariable.Get(5),
  5.   HorizontalDir = GdpVariable.Get(6),
  6.     VerticalDir = GdpVariable.Get(7),
  7.   i_Medium = parseInt(GdpVariable.Get(8)),
  8.   i_mmDuctW = (GdpVariable.Get(9) * 1000),
  9.     i_mmDuctH = (GdpVariable.Get(10) * 1000),
  10.   i_mDuctW = GdpVariable.Get(9),
  11.   i_mDuctH = GdpVariable.Get(10),
  12.     i_mPlenumX = GdpVariable.Get(12),
  13.   i_mPlenumY = GdpVariable.Get(13),
  14.   i_mPlenumZ = GdpVariable.Get(14),
  15.   i_mTerminalX = GdpVariable.Get(16),
  16.   i_mTerminalY = GdpVariable.Get(17),
  17.   i_mTerminalZ = GdpVariable.Get(21),
  18.   d_mSleeveZ = GdpVariable.Get(15),
  19.   i_FloodFill = GdpVariable.Get(18),
  20.   i_TypeJunction = GdpVariable.Get(29),
  21.   d_DistToFloor = GdpVariable.Get(31),
  22.   i_Country = GdpVariable.Get(54),
  23.     i_ViewState = GdpVariable.Get(55),
  24.     a_Angle = GdpVariable.Get(25),
  25.   r_Angle = GdpVariable.Get(25) * (Math.PI / 180),
  26.     d_Radius = GdpVariable.Get(11),
  27.   d_DZ = d_mSleeveZ-.5*i_mPlenumZ,
  28.     boTopConnect = GdpVariable.Get(30),
  29.     boTerminalOnly = false,
  30.     boTerminalRect = false,
  31.     boPlenumRect = false,
  32.   boFloodFill = false,
  33.   boUseIP = true,
  34.   boLouvre = false,
  35.   boTrox = false,
  36.   boNor = false,
  37.   boSupply = false,
  38.   boVentistaal = false,
  39.   iDetailLevel = DdsDraw.DetailLevel().DetailLevel(),
  40.   dCurL = new DdsCurvedLine2d(),
  41.   pointlist = new DdsPoint2dList(),
  42.   dG = 0,
  43.   dH = 0,
  44.   dI = 0,
  45.   dJ = 0,
  46.   endVar;
  47.   if(i_mmDuctW < 150){
  48.       dG = .018;
  49.       dH = .138;
  50.       dI = .235;
  51.       dJ = .257;
  52.       }
  53.   else if(i_mmDuctW < 190){
  54.       dG = .018;
  55.       dH = .188;
  56.       dI = .235;
  57.       dJ = .257;
  58.       }
  59.   else if(i_mmDuctW < 220){
  60.       dG = .025;
  61.       dH = .213;
  62.       dI = .235;
  63.       dJ = .257;
  64.       }
  65.   else{
  66.       dG = .037;
  67.       dH = .275;
  68.       dI = .246;
  69.       dJ = .246;
  70.       }  
  71.  with(GdpCommand){
  72.     DdsDraw.TransfPush();
  73.     Process("MO", 0, 0, 0);
  74.     DdsDraw.TranslateXYZ(-i_mPlenumX, 0, i_mPlenumZ*.5);
  75.     if(GdpVariable.Get(55) > 2){
  76.       DdsDraw.RotateY(-Math.PI*.5);
  77.       DdsDraw.Cylinder(i_mDuctW*.5, .049, false, false);
  78.     }
  79.     Process("IP", 10, i_mmDuctW, 180, 0);
  80.     Process("MO", 0, 0, 0);
  81.     DdsDraw.TransfPop();
  82.     DdsDraw.TransfPush();
  83.     DdsDraw.TranslateXYZ(-dJ, -i_mPlenumY * .5, dG);
  84.     Process("IP", 4, 20, 270, 0);
  85.     if(GdpVariable.Get(55) >2){
  86.       DdsDraw.RotateX(Math.PI*.5);
  87.       DdsDraw.Cylinder(.002, .02, false, false);
  88.       DdsDraw.RotateX(-Math.PI*.5);
  89.     }
  90.     else
  91.     DdsDraw.LineXYZ(0,0,0,0, -.053, 0);
  92.     DdsDraw.TranslateXYZ(dJ-dI, 0, dH);
  93.     Process("IP", 5, 20, 270, 0);
  94.     if(GdpVariable.Get(55) >2){
  95.       DdsDraw.RotateX(Math.PI*.5);
  96.       DdsDraw.Cylinder(.002, .02, false, false);
  97.       DdsDraw.RotateX(-Math.PI*.5);
  98.     }
  99.     else
  100.     DdsDraw.LineXYZ(0,0,0,0, -.053, 0);
  101.     DdsDraw.TransfPop();
  102.    }
  103.     with(DdsDraw){
  104.       switch(Type()){
  105.         case 1:
  106.         TransfPush();
  107.         TranslateXYZ(0, -i_mPlenumY*.5, 0);
  108.         Rect(-i_mPlenumX, i_mPlenumY);
  109.         RotateX(Math.PI*.5);
  110.         Rect(-i_mPlenumX, i_mPlenumZ);
  111.         RotateX(-Math.PI*.5);
  112.         RotateY(Math.PI*.5);
  113.         Rect(-i_mPlenumZ, i_mPlenumY);
  114.         RotateY(-Math.PI*.5);
  115.         TranslateXYZ(0, -(i_mTerminalY*.5 - i_mPlenumY*.5), -(i_mTerminalX - i_mPlenumZ)*.5);
  116.         Box(.01, i_mTerminalY, i_mTerminalX);
  117.         TransfPop();
  118.         TranslateXYZ(-i_mPlenumX, -i_mDuctW*.5, 0);
  119.         Rect(-i_mDuctW*.2, i_mDuctW);
  120.         TranslateXYZ(0, i_mDuctW*.5, i_mPlenumZ*.5);
  121.         RotateY(Math.PI*.5);
  122.         Circle(i_mDuctW*.5);
  123.         break;
  124.         default:
  125.         TransfPush();
  126.         TranslateXYZ(0, -i_mPlenumY*.5, 0);
  127.         Box(-i_mPlenumX, i_mPlenumY, i_mPlenumZ);
  128.         TranslateXYZ(0, -(i_mTerminalY*.5 - i_mPlenumY*.5), -(i_mTerminalX - i_mPlenumZ)*.5);
  129.         Box(.01, i_mTerminalY, i_mTerminalX);
  130.         TranslateXYZ(.01, 0, 0);
  131.         RotateX(Math.PI*.5);
  132.         RotateY(Math.PI*.5);
  133.         if(iDetailLevel > 2)
  134.         fGrille(i_mTerminalY, i_mTerminalX)
  135.         TransfPop();
  136.         function fGrille(i_mTerminalY, i_mTerminalX){
  137.           with(DdsDraw){
  138.             var 
  139.             negFactor = 1,
  140.             hole = .01,
  141.             holehalf = .005,
  142.             iNumHoleX = (i_mTerminalY / hole)-1,
  143.             iNumHoleY = (i_mTerminalX / hole)-1;
  144.             TranslateXYZ(hole, hole, 0);
  145.             for(j = 1; j < iNumHoleY; ++j)
  146.                 {
  147.                 for(i = 0; i < iNumHoleX-1; ++i){
  148.                   ConeCutOnTop(holehalf, holehalf*.8, holehalf*.4, false, false);
  149.                   TranslateXYZ(hole * negFactor, 0, 0);
  150.                 }
  151.                 negFactor = negFactor * -1;
  152.                 TranslateXYZ(0, hole, 0);
  153.               }
  154.           }
  155.         }
  156.         break;
  157.       }
  158.     }
  159.   }
  160.