home *** CD-ROM | disk | FTP | other *** search
/ ftp.dds.no / ftp.dds.no.tar / ftp.dds.no / pub / Customers / sys-js.txt / TroxPegasusSc.js < prev   
Text File  |  2014-05-07  |  5KB  |  171 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.   dF = 0,
  45.   dG = 0,
  46.   dH = 0,
  47.   dE = 0,  
  48.   endVar;
  49.   if(i_mmDuctW < 150){
  50.       dA = .082;
  51.       dB = .145;
  52.   dF = .175;
  53.   dG = .018;
  54.   dH = .138;
  55.   dE = .257;  
  56.       }
  57.   else if(i_mmDuctW < 190){
  58.       dA = .1;
  59.       dB = .163;
  60.   dF = .175;
  61.   dG = .018;
  62.   dH = .188;
  63.   dE = .257;  
  64.       }
  65.   else if(i_mmDuctW < 220){
  66.       dA = .12;
  67.       dB = .183;
  68.   dF = .175;
  69.   dG = .025;
  70.   dH = .213;
  71.   dE = .257;  
  72.       }
  73.   else{
  74.       dA = .145;
  75.       dB = .208;
  76.   dF = .186;
  77.   dG = .037;
  78.   dH = .275;
  79.   dE = .246;  
  80.       }
  81.  with(GdpCommand){
  82.   DdsDraw.TransfPush();
  83.     Process("MO", 0, 0, 0);
  84.     DdsDraw.TranslateXYZ(i_mTerminalY*.5, i_mPlenumY-dB, dA);
  85.     DdsDraw.TranslateXYZ(-i_mPlenumX, 0, 0);
  86.     Process("IP", 10, i_mmDuctW, 180, 0);
  87.     if(GdpVariable.Get(55) < 3){
  88.     DdsDraw.TranslateXYZ(0, i_mDuctW*.5, 0);
  89.     DdsDraw.Rect(-i_mDuctW*.4, -i_mDuctW);
  90.     DdsDraw.TranslateXYZ(0, -i_mDuctW*.5, 0);
  91.   }
  92.     DdsDraw.RotateY(-Math.PI*.5);
  93.     if(GdpVariable.Get(55) < 3)
  94.     DdsDraw.Circle(i_mDuctW*.5);
  95.     else
  96.     DdsDraw.Cylinder(i_mDuctW*.5, .03, false, false);
  97.     Process("MO", 0, 0, 0);
  98.     DdsDraw.TransfPop();
  99.     DdsDraw.TransfPush();
  100.     DdsDraw.TranslateXYZ(i_mTerminalY * .5,dF,dG);
  101.         Process("IP", 4, 20, 360, 0);
  102.     if(GdpVariable.Get(55) >2){
  103.       DdsDraw.RotateY(Math.PI*.5);
  104.       DdsDraw.Cylinder(.002, .02, false, false);
  105.       DdsDraw.RotateY(-Math.PI*.5);
  106.     }
  107.     else
  108.     DdsDraw.LineXYZ(0,0,0, .053, 0, 0);
  109.     DdsDraw.TranslateXYZ(0 ,dE-dF,dH);
  110.         Process("IP", 5, 20, 360, 0);
  111.     if(GdpVariable.Get(55) >2){
  112.       DdsDraw.RotateY(Math.PI*.5);
  113.       DdsDraw.Cylinder(.002, .02, false, false);
  114.       DdsDraw.RotateY(-Math.PI*.5);
  115.     }
  116.     else
  117.     DdsDraw.LineXYZ(0,0,0, .053, 0, 0);
  118.  
  119.     DdsDraw.TransfPop();
  120.       }
  121.     with(DdsDraw){
  122.       pointlist.AddXY(0,0);
  123.       pointlist.AddXY(i_mTerminalY*.5,0);
  124.       pointlist.AddXY(i_mTerminalY*.5,i_mPlenumY);
  125.       pointlist.AddXY(i_mTerminalY*.5 - i_mPlenumX,i_mPlenumY);
  126.       pointlist.AddXY(i_mTerminalY*.5 - i_mPlenumX,.26);
  127.       pointlist.AddXY((i_mTerminalY*.5 - i_mPlenumX) + (i_mPlenumX - i_mTerminalY) ,.26);
  128.       pointlist.AddXY((i_mTerminalY*.5 - i_mPlenumX) + (i_mPlenumX - i_mTerminalY) ,0);
  129.       switch(Type()){
  130.         case 1:
  131.         ExtrudedPolygon(pointlist, i_mPlenumZ);
  132.         TranslateXYZ(-i_mTerminalY*.5 - .02, 0, -.02);
  133.         Box(i_mTerminalY + .04, -.01, i_mPlenumZ + .04);
  134.         break;
  135.         default:
  136.         TransfPush();
  137.         ExtrudedPolygon(pointlist, i_mPlenumZ);
  138.         TranslateXYZ(-i_mTerminalY*.5 - .02, 0, -.02);
  139.         Box(i_mTerminalY + .04, -.01, i_mPlenumZ + .04);
  140.         TranslateXYZ(.01, 0, 0);
  141.         RotateX(Math.PI*.5);
  142.         //RotateY(-Math.PI*.5);
  143.         TranslateXYZ(0, 0, .01);
  144.         if(iDetailLevel > 2)
  145.         fGrille(i_mTerminalY, i_mTerminalX, i_mPlenumZ)
  146.         TransfPop();
  147.         function fGrille(i_mTerminalY, i_mTerminalX, i_mPlenumZ){
  148.           with(DdsDraw){
  149.             var 
  150.             negFactor = 1,
  151.             hole = .01,
  152.             holehalf = .005,
  153.             iNumHoleX = (i_mTerminalY / hole)-1,
  154.             iNumHoleY = (i_mTerminalX / hole)-1;
  155.             TranslateXYZ(hole+.01, hole+.005, 0);
  156.             for(j = 1; j < iNumHoleY; ++j)
  157.                 {
  158.                 for(i = 0; i < iNumHoleX-1; ++i){
  159.                   ConeCutOnTop(holehalf, holehalf*.8, holehalf*.4, false, false);
  160.                   TranslateXYZ(hole * negFactor, 0, 0);
  161.                 }
  162.                 negFactor = negFactor * -1;
  163.                 TranslateXYZ(0, hole, 0);
  164.               }
  165.           }
  166.         }
  167.         break;
  168.       }
  169.     }
  170.   }
  171.