home *** CD-ROM | disk | FTP | other *** search
/ ftp.dds.no / ftp.dds.no.tar / ftp.dds.no / pub / Customers / sys-js.txt / TroxPegasusS.js < prev    next >
Text File  |  2014-05-07  |  4KB  |  124 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.   dA = 0,
  43.   dB = 0,
  44.   endVar;
  45.   if(i_mmDuctW < 150){
  46.       dA = .082;
  47.       dB = .145;
  48.       }
  49.   else if(i_mmDuctW < 190){
  50.       dA = .1;
  51.       dB = .163;
  52.       }
  53.   else if(i_mmDuctW < 220){
  54.       dA = .12;
  55.       dB = .183;
  56.       }
  57.   else{
  58.       dA = .145;
  59.       dB = .208;
  60.       }
  61.  with(GdpCommand){
  62.   DdsDraw.TransfPush();
  63.     Process("MO", 0, 0, 0);
  64.     DdsDraw.TranslateXYZ(i_mTerminalY*.5, i_mPlenumY-dB, dA);
  65.     DdsDraw.TranslateXYZ(-i_mPlenumX, 0, 0);
  66.     Process("IP", 10, i_mmDuctW, 180, 0);
  67.     DdsDraw.RotateY(-Math.PI*.5);
  68.     if(GdpVariable.Get(55) < 3)
  69.     DdsDraw.Circle(i_mDuctW*.5);
  70.     else
  71.     DdsDraw.Cylinder(i_mDuctW*.5, .03, false, false);
  72.     Process("MO", 0, 0, 0);
  73.     DdsDraw.TransfPop();
  74.       }
  75.     with(DdsDraw){
  76.       pointlist.AddXY(0,0);
  77.       pointlist.AddXY(i_mTerminalY*.5,0);
  78.       pointlist.AddXY(i_mTerminalY*.5,i_mPlenumY);
  79.       pointlist.AddXY(i_mTerminalY*.5 - i_mPlenumX,i_mPlenumY);
  80.       pointlist.AddXY(i_mTerminalY*.5 - i_mPlenumX,.1);
  81.       pointlist.AddXY((i_mTerminalY*.5 - i_mPlenumX) + (i_mPlenumX - i_mTerminalY) ,.1);
  82.       pointlist.AddXY((i_mTerminalY*.5 - i_mPlenumX) + (i_mPlenumX - i_mTerminalY) ,0);
  83.       switch(Type()){
  84.         case 1:
  85.         ExtrudedPolygon(pointlist, i_mPlenumZ);
  86.         TranslateXYZ(-i_mTerminalY*.5 - .02, 0, -.02);
  87.         Box(i_mTerminalY + .04, .01, i_mPlenumZ + .04);
  88.         break;
  89.         default:
  90.         TransfPush();
  91.         ExtrudedPolygon(pointlist, i_mPlenumZ);
  92.         TranslateXYZ(-i_mTerminalY*.5 - .02, 0, -.02);
  93.         Box(i_mTerminalY + .04, .01, i_mPlenumZ + .04);
  94.         TranslateXYZ(.01, 0, 0);
  95.         RotateX(Math.PI*.5);
  96.         //RotateY(-Math.PI*.5);
  97.         if(iDetailLevel > 2)
  98.         fGrille(i_mTerminalY, i_mTerminalX, i_mPlenumZ)
  99.         TransfPop();
  100.         function fGrille(i_mTerminalY, i_mTerminalX, i_mPlenumZ){
  101.           with(DdsDraw){
  102.             var 
  103.             negFactor = 1,
  104.             hole = .01,
  105.             holehalf = .005,
  106.             iNumHoleX = (i_mTerminalY / hole)-1,
  107.             iNumHoleY = (i_mTerminalX / hole)-1;
  108.             TranslateXYZ(hole+.01, hole+.005, 0);
  109.             for(j = 1; j < iNumHoleY; ++j)
  110.                 {
  111.                 for(i = 0; i < iNumHoleX-1; ++i){
  112.                   ConeCutOnTop(holehalf, holehalf*.8, holehalf*.4, false, false);
  113.                   TranslateXYZ(hole * negFactor, 0, 0);
  114.                 }
  115.                 negFactor = negFactor * -1;
  116.                 TranslateXYZ(0, hole, 0);
  117.               }
  118.           }
  119.         }
  120.         break;
  121.       }
  122.     }
  123.   }
  124.