Advertisement
Guest User

Untitled

a guest
May 30th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 22.08 KB | None | 0 0
  1. //Exemplo de script de objetos do Lane Maxwell
  2. //Traducao do objetos.obj
  3. //Para compilar maxwell_dbc objetos.obj objetos.sago
  4.  
  5. //Costrução da UHE-Tucuruí, mais especificamente do patio do transformador da 2ª etapa
  6.  
  7. //CONSTRUÇÃO DO TRANSFORMADOR ELEVADOR
  8. class trafo
  9. {
  10.     hastes(2,2,2,7)=[
  11.         41 47 81 0 31 0 8.7;
  12.         41 0 81 0 13 30 8.7
  13.     ];
  14.     bm(2,2,2,6)=[
  15.  
  16.     // Bloco corpo trafo 1
  17.             48 63 80 120 30 45;
  18.     //Bases do trafo (4 bases): B1,B2,B3 e B4
  19.             48 63 84 84 28 29;
  20.             48 63 95 95 28 29;  
  21.             48 63 106 106 28 29;
  22.             48 63 117 117 28 29;
  23.  
  24.  
  25.     //Tanque de expansão do trafo 1
  26.             50 60 88 113 48 53;
  27.     //Base 1 do tanque de expansão t1
  28.             54 56 89 94 46 47;
  29.     //Base 2 do tanque de expansão t1
  30.             54 56 106  111 46 47;
  31.  
  32.     // Fase1 (saída do T1)
  33.             64 75 87 93 35 40;
  34.     //Cont f1 bucha horizontal (saida T1)
  35.             76 108 89 91 37 38;
  36.     //F1 que desce no final da saída do T1
  37.             106 108 89 91 32 36;
  38.  
  39.     //Fase 2 (saída do T1)
  40.             64 75 98 104 35 40;
  41.     //Cont f2 bucha horizontal (saida T1)
  42.             76 108 100 102 37 38;
  43.     //F2 que desce no final da saída do T1
  44.             106 108 100 102 32 36;
  45.  
  46.     //Fase 3 (saída do T1)
  47.             64 75 109 115 35 40;
  48.     //Cont f3 bucha horizontal (saida T1)
  49.             76 108 111 113 37 38;
  50.     //F3 que desce no final da saída do T1
  51.             106 108 111 113 32 36
  52.              
  53. ];
  54.  
  55. bd(2,2,2,9)=[
  56.     //Base de concreto da saída f1 Trafo(na ponta)
  57.             104 110 87 93 28 31 7.5 0.02 1;
  58.     //Base de concreto da saída f2 Trafo
  59.             104 110 98 104 28 31 7.5 0.02 1 ;
  60.     //Base de concreto da saída f2 Trafo
  61.             104 110 109 115 28 31 7.5 0.02 1;
  62.  
  63.     //solo de pedra
  64.             65 69 80 120 25 27 10 10e-5 1;
  65.             48 63 76 80 25 27 10 10e-5 1;
  66.             48 63 120 124 25 27 10 10e-5 1
  67.  
  68. ];
  69.  
  70. };
  71.  
  72. class parede_corta_fogo{
  73.  
  74.     bd(2,2,2,9)=[
  75.  
  76.     //Parede corta fogo
  77.             40  42 129 134 28 60 7.5 0.02 1;
  78.             42 69 130 133 28 60 7.5 0.02 1;
  79.             69  71 129 134 28 60 7.5 0.02 1
  80.    
  81. ];
  82.  
  83. };
  84.  
  85. //PISOS DE CONCRETO
  86. class pisos
  87. {
  88.     bd(2,2,2,9)=[
  89.             //Bloco de todos os pisos abaixo do trafo (representação)
  90.             160, 312, 20, 250,70, 313,7.5,0.02,1;
  91.             //Bloco dos pisos atrás do trafo, ref erente à Casa de Força
  92.             20, 160, 20 , 250,70,384,7.5,0.02,1
  93. ];
  94.            
  95. };
  96.  
  97. //ROCHA POR BAIXO DA USINA E  DA ÁGUA
  98. class rocha
  99. {  
  100.     bd(2,2,2,9)=[
  101.                 20 523 20 250    10 70 10 10e-5 1
  102. ];
  103. };
  104.  
  105. class rocha_final
  106. {
  107.     bd(2,2,2,9)=[
  108.         313 523 20 30 70 200 10 10e-5 1
  109.     ];
  110.  
  111. };
  112.  
  113. class agua_final
  114. {
  115.     bd(2,2,2,9)=[
  116.         313, 523, 20, 30, 70, 163, 81, 46*10e-4, 1
  117. ];
  118.  
  119. };
  120.  
  121. //ÁGUA DA JUSANTE
  122. class agua
  123. {
  124.     bd(2,2,2,9)=[
  125.         313, 523, 30,240,70,163,81,10e-4,1
  126.     ];
  127. };
  128.  
  129.  
  130. //CONSTRUÇÃO DA TORRE
  131.  
  132.  class h_dx
  133. {    
  134.     hastes(2,2,2,7)=[
  135.             20 21 20 0 20 0 13
  136.     ];
  137.          
  138. };
  139.  
  140. class h_dy
  141. {
  142.     hastes(2,2,2,7)=[
  143.         20 0 20 21 20 0 13
  144.     ];
  145. };
  146.  
  147. class h_dy2
  148. {
  149.     hastes(2,2,2,7)=[
  150.         20 0 20 20 20 0 13
  151.     ];
  152. };
  153.  
  154. class h_dz
  155. {
  156.     hastes(2,2,2,7)=[
  157.         20 0 20 0 20 21 13
  158.     ];
  159. };
  160.  
  161. class h_base_torre{
  162.     hastes(2,2,2,7)=[
  163.         20 0 20 0 21 29 25
  164.     ];
  165. };
  166.  
  167.  
  168. class h_concreto_base_torre{
  169.     bd(2,2,2,9)=[
  170.         1,32,1,10,1,9,7.5,0.02,1
  171.     ];
  172.    
  173. };
  174.  
  175.  class conexao_aterramento_torre{
  176.         hastes(2,2,2,7)=[
  177.             29, 0, 1, 3, 10, 0, 12;
  178.             29, 0, 1, 0, -11, 9, 12;
  179.             22, 28, 1, 0, -11, 0,12
  180. ];
  181. };
  182.  
  183. class cabo_para_raio_torre{
  184.     hastes(2,2,2,7)=[
  185.         18, 240, 26, 0, 142, 0, 12
  186.     ];
  187. };
  188.  
  189. //class marcador{
  190.     //bm(2,2,2,6)=[
  191.         //22, 22, 1, 1, -11, -11
  192.     //];
  193.  
  194. //};                   
  195.  
  196. function constroi_torre(real xo, real yo, real zo, vector id){
  197.     x1=x=xo; y1=y=yo+2; z1=z=zo-10; dx=0.2; dy=0.2; dz=0.2;
  198.     h_concreto_base_torre H[id[0]++](xo+16,yo+18,zo);
  199.     h_concreto_base_torre H[id[0]++](xo+16,yo+18+40,zo);
  200.    
  201.     conexao_aterramento_torre H[id[0]++](xo+16,yo+18,zo);
  202.  
  203.     //marcador H[id[0]++](xo+16,yo+5,zo+2);
  204.  
  205.     //print "x="; echo xo+16+22; print "y="; echo yo+5+1; print "z=" ; echo zo+2-11;
  206.  
  207.     //marcador H[id[0]++](xo+16,yo+5,zo-227);
  208.  
  209.     cabo_para_raio_torre H[id[0]++](xo+16,yo+18,zo);
  210.  
  211.     for(p=0;p<2;p++){
  212.         for(k=0;k<2;k++){
  213.             for(n=0;n<3;n++){
  214.                 h_base_torre H[id[0]++](xo+26*p,yo+4+2*n+37*k,zo-20);
  215.             }
  216.         }
  217.     }
  218.  
  219.     for(p=0;p<2;p++){
  220.         for(k=0;k<2;k++){
  221.             for(n=0;n<2;n++){
  222.                 h_base_torre H[id[0]++](xo+2*n+1+22*k,yo+2+45*p,zo-20);
  223.             }
  224.         }
  225.     }
  226.  
  227.     L=11; M=45;
  228.     for(k=0;k<11;k++){
  229.         for(n=0;n<L;n++){
  230.             h_dx H[id[0]++](x+n,y,z);
  231.             h_dx H[id[0]++](x1+n,y1+45,z1);
  232.             if(k>0){
  233.                 h_dx H[id[0]++](x+n,y,z-10);
  234.                 h_dx H[id[0]++](x1+n,y1+45,z1-10);
  235.             }
  236.             //h_dz H[id[0]++](xo+n,yo,zo+6*dx);
  237.         }
  238.        
  239.             // Lado direito da torre
  240.         if(k<10){
  241.             for(n=0;n<9;n++){
  242.                 h_dz H[id[0]++](x+1,y+2,z+n);
  243.                 h_dz H[id[0]++](x+1,y+M-2,z+n);
  244.             }
  245.             h_dx H[id[0]++](x,y+2,z);
  246.             h_dx H[id[0]++](x,y+M-2,z);
  247.  
  248.             h_dy H[id[0]++](x+1,y,z);
  249.             h_dy H[id[0]++](x+1,y+M-2,z);
  250.         }
  251.  
  252.         for(n=0;n<M-1;n++){
  253.             h_dy H[id[0]++](x,y+n,z);
  254.             if(k>0){
  255.                 h_dy H[id[0]++](x,y+n,z-10);
  256.             }
  257.         }      
  258.        
  259.  
  260.         y+=2;
  261.        
  262.         L--; M-=4;
  263.         z+=10; z1+=10;
  264.         y1-=2; x++; x1++;
  265.     }
  266.  
  267.     x1=x=xo; y1=y=yo+2; z1=z=zo-10;
  268.     //x=xo+15;
  269.     L=15; M=45;
  270.  
  271.     for(k=0;k<11;k++){
  272.         for(n=0;n<L;n++){
  273.             h_dx H[id[0]++](x+n+10,y,z);
  274.             h_dx H[id[0]++](x+n+10,y1+45,z1);
  275.             if(k>0){
  276.                 h_dx H[id[0]++](x+n+10,y,z-10);
  277.                 h_dx H[id[0]++](x+n+10,y1+45,z1-10);
  278.             }
  279.             //h_dz H[id[0]++](xo+n,yo,zo+6*dx);
  280.         }
  281.  
  282.         if(k<10){
  283.             for(n=0;n<9;n++){
  284.                 h_dz H[id[0]++](x+L+10,y+2,z+n);
  285.                 h_dz H[id[0]++](x+L+10,y+M-2,z+n);
  286.             }
  287.  
  288.             h_dx H[id[0]++](x+L+9,y+2,z);
  289.             h_dx H[id[0]++](x+L+9,y+M-2,z);
  290.  
  291.            
  292.             h_dy H[id[0]++](x+L+10,y,z);
  293.             h_dy H[id[0]++](x+L+10,y+M-2,z);
  294.         }
  295.  
  296.         for(n=0;n<M-1;n++){
  297.             h_dy H[id[0]++](x1+26,y+n,z);
  298.             if(k>0){
  299.                 h_dy H[id[0]++](x1+26,y+n,z-10);
  300.             }
  301.         }  
  302.  
  303.  
  304.  
  305.         y+=2;
  306.        
  307.         L--; M-=4;
  308.         z+=10; z1+=10;
  309.         y1-=2; x1--; //x--;
  310.     }
  311.  
  312. //ponta 5x6
  313.     for(n=0;n<15;n++){
  314.         h_dz H[id[0]++](xo+11,y+2,z1-10+n);
  315.         h_dz H[id[0]++](xo+11,y-1,z1-10+n);
  316.         h_dz H[id[0]++](xo+15,y-1,z1-10+n);
  317.         h_dz H[id[0]++](xo+15,y+2,z1-10+n);
  318.     }
  319.  
  320.     for(n=0;n<5;n++){
  321.         h_dx H[id[0]++](xo+n+10,y-1,z1-10);
  322.         h_dx H[id[0]++](xo+n+10,y+2,z1-10);
  323.     }
  324.  
  325.     for(n=0;n<4;n++){
  326.         h_dy H[id[0]++](xo+11,y+n-2,z1-10);
  327.         h_dy H[id[0]++](xo+15,y+n-2,z1-10);
  328.     }
  329.  
  330.     for(n=0;n<3;n++){
  331.         h_dx H[id[0]++](xo+n+11,y-1,z1-10+16);
  332.         h_dx H[id[0]++](xo+n+11,y+2,z1-10+16);
  333.     }
  334.  
  335.     for(n=0;n<2;n++){
  336.         h_dy H[id[0]++](xo+11,y+n-1,z1-10+16);
  337.         h_dy H[id[0]++](xo+15,y+n-1,z1-10+16);
  338.     }
  339.  
  340.  
  341. //ponta 3 x2
  342.     for(n=0;n<15;n++){
  343.         h_dz H[id[0]++](xo+12,y+1,z1-10+n+16);
  344.         h_dz H[id[0]++](xo+14,y+1,z1-10+n+16);
  345.        
  346.         h_dz H[id[0]++](xo+12,y,z1-10+n+16);
  347.         h_dz H[id[0]++](xo+14,y,z1-10+n+16);
  348.     }
  349.  
  350.     for(n=0;n<3;n++){
  351.         h_dx H[id[0]++](xo+n+11,y,z1-10+16);
  352.         h_dx H[id[0]++](xo+n+11,y+1,z1-10+16);
  353.     }
  354.  
  355.     for(n=0;n<2;n++){
  356.         h_dy H[id[0]++](xo+12,y+n-1,z1-10+16);
  357.         h_dy H[id[0]++](xo+14,y+n-1,z1-10+16);
  358.     }
  359.  
  360.  
  361.     for(n=0;n<1;n++){
  362.         h_dx H[id[0]++](xo+n+12,y,z1-10+16+16);
  363.         h_dx H[id[0]++](xo+n+12,y+1,z1-10+16+16);
  364.     }
  365.  
  366.     for(n=0;n<1;n++){
  367.         h_dy2 H[id[0]++](xo+12,y+n,z1-10+16+16);
  368.         h_dy2 H[id[0]++](xo+14,y+n,z1-10+16+16);
  369.         //print "x="; echo xo+12+20; print "y="; echo y+n+20; print "z="; echo z1-10+16+16+20;
  370.        
  371.     }
  372.     //marcador N[id[0]++](262,56,462);
  373.    
  374. }
  375.  
  376. function bsq(real xo, real yo, real zo, real L, vector id)
  377. {
  378.     for(n=0;n<L;n++){
  379.         h_dx  H[id[0]++](xo+n,yo,zo);
  380.         h_dx  H[id[0]++](xo+n,yo,zo+L);
  381.     }
  382.  
  383.     for(n=0;n<L-1;n++){
  384.         h_dz  H[id[0]++](xo,yo,zo+n);
  385.         h_dz  H[id[0]++](xo+L+1,yo,zo+n);
  386.     }
  387. }
  388.  
  389. function bcube(real xo, real yo, real zo, real L, vector id)
  390. {
  391.     bsq(xo,yo,zo,L,id);
  392.     bsq(xo,yo+L,zo,L,id);
  393.  
  394.     for(n=0;n<L-1;n++){
  395.         h_dy H[id[0]++](xo,yo+n,zo);
  396.         h_dy H[id[0]++](xo,yo+n,zo+L);
  397.         h_dy H[id[0]++](xo+L+1,yo+n,zo);
  398.         h_dy H[id[0]++](xo+L+1,yo+n,zo+L);
  399.     }
  400. }
  401.  
  402. function constroi_barra_que_liga_torres(real xo, real yo, real zo, real M, real L, vector id)
  403. {
  404.     for(n=0;n<M;n++){
  405.         bcube(xo,yo+L*n,zo,L,id);  
  406.     }
  407. }
  408.  
  409.  
  410.  
  411.  
  412. //CONSTRUÇÃO DAS BUCHAS E PARA-RAIO
  413.    
  414.  
  415. //BUCHAS (DE PORCELANA) PÁRA-RAIO (DE PORCELANA)
  416.     class bucha
  417. {
  418.         bd(2,2,2,9)=[
  419. //BUCHAS (DE PORCELANA)
  420.                 3 7 3 7 24 53 6 10e-12 1;
  421.                 //base de concreto
  422.                 1 11 1 11 1 2 7.5 0.02 1
  423.  
  424. ];
  425.  
  426. //base metalica
  427.         bm(2,2,2,6)=[
  428.                 2 10 2 10 2 23         
  429. ];
  430.  
  431.  
  432. //Aterramento da bucha
  433.  
  434.         hastes(2,2,2,7)=[
  435.                 9, 11 ,2, 0, 3, 0 ,8.7;
  436.                 12, 0, 2, 0, -14, 2, 8.7
  437. ];
  438.  
  439. }; 
  440.        
  441. class para_raio{
  442.         bd(2,2,2,9)=[
  443.     ///PÁRA-RAIO (DE PORCELANA)
  444.                 3 6 3 6 24 53 6 10e-12 1;
  445.                 //base de concreto Para_raio
  446.                 1 8 1 8 1 2  7.5 0.02 1
  447. ];
  448.  
  449. //base metalica para_raio
  450.         bm(2,2,2,6)=[
  451.                 2 7 2 7 2 23           
  452. ];
  453.  
  454. };
  455.  
  456. class conexao_para_raio_aterramento{
  457. hastes(2,2,2,7)=[
  458.                 7, 11, 3, 0, 3, 0, 8.7;
  459.                 12,0, 3,  0, -14,2,8.7;
  460.                 -5, 11,3,0,-14,0,8.7
  461.                
  462. ];
  463. };
  464.  
  465. class conexao_para_raio_aterramento_dcp{
  466. hastes(2,2,2,7)=[
  467.                 7, 11, 3, 0, 3, 0, 8.7;
  468.                 12,0, 3,  0, -14,2,8.7;
  469.                 3, 11,3,0,-14,0,8.7
  470.                
  471. ];
  472. };
  473.  
  474. //CABOS PARA_RAIO
  475.  
  476.  
  477. //ISOLADORES (DE VIDRO)
  478.     class isolador_vidro_x
  479. {
  480.         bd(2,2,2,9)=[
  481.                 1 20 1 2 1  2   8 10e-12 1
  482. ];
  483.         hastes(2,2,2,7)=[
  484.                 -5, 1, 2, 0, 1, 0, 12  
  485. ];
  486. };
  487.  
  488.  
  489.     class isolador_vidro_z
  490. {
  491.         bd(2,2,2,9)=[
  492.                 1 2 2 3 1 20 8 10e-12 1
  493.         ];
  494.         hastes(2,2,2,7)=[
  495.                 2, 0, 3, 0, 20, 21, 12;
  496.                 1, 4, 3, 0, 22, 0, 12
  497.         ];
  498. };
  499.  
  500.  
  501. //ATERRAMENTO
  502.     class aterramento
  503. {  
  504.         hastes(2,2,2,7)=[
  505.                 // aqui tem 1 cel a menos para todas as pontas do bloco de concreto, conforme desenho
  506.                 //haste em x , a 1ª de baixo para cima (seção 120mm²)
  507.                 21, 310, 21, 0, 71, 0, 6.18;
  508.                 //haste em x, 2ª de baixo para cima (seção 240mm²)
  509.                 21, 310, 21, 0, 244, 0, 8.7;
  510.                 21, 310, 21, 0, 71, 0, 8.7;
  511.                 //haste em x, 3ª de baixo p/ cima (seção 240mm²)   
  512.                 21, 310, 21, 0,273, 0, 8.7;
  513.                 21, 310, 21, 0,71, 0, 8.7;
  514.                 //haste 4 (só no piso atras do trafo) (seção 70mm²)
  515.                 21, 160, 21, 0,323, 0, 4.7;
  516.                 21, 160, 247, 0,323, 0, 4.7;
  517.                 21, 160, 21, 0,71, 0, 4.7;
  518.                 21, 160, 247, 0,71, 0, 4.7;
  519.                 //haste 5 (só no piso atras do trafo) (seção 70mm²)
  520.                 21, 160, 21, 0,347, 0, 4.7;
  521.                 21, 160, 247, 0,347, 0, 4.7;
  522.                 //haste 4 de baixo p/ cima no bloco abaixo do trafo(240mm²)
  523.                 161, 310, 21, 0, 258, 0, 8.7;
  524.                 //haste 5 no bloco abaixo do trafo(240mm²)
  525.                 161, 310, 21, 0, 299, 0, 8.7;
  526.                
  527.  
  528.  
  529.                 //Agora cont. do aterramento para o eixo y (apenas na cota 26,60 pátio  dos trafos)
  530.                 //Começando de trás (do trafo) para frente, até o final do pátio, passando da torre.
  531.                 //1ª linha de aterram em y (seção 240mm²)
  532.                 161, 0, 21, 246, 299, 0, 8.7;
  533.                 161, 0, 21, 246, 71, 0, 8.7;
  534.                 //2ª linha de aterram. em y
  535.                 213, 0, 58, 181, 299, 0, 8.7;
  536.                 213, 0, 21, 246, 71, 0, 8.7;
  537.                 //3ª linha de aterram. em y
  538.                 225, 0, 21, 246, 299, 0, 8.7;
  539.                 225, 0, 21, 246, 71, 0, 8.7;
  540.                 //4ª linha de aterram. em y
  541.                 268, 0, 21, 246, 299, 0, 8.7;
  542.                 268, 0, 21, 246, 71, 0, 8.7;
  543.                 //5ª linha de aterram. em y
  544.                 311, 0, 21, 246, 299, 0, 8.7;
  545.                 311, 0, 21, 246, 71, 0, 8.7;
  546.  
  547.                 //Fechamento da malha de aterramento
  548.                 //5ª de baixo para cima no patio atrás do trafo (casa de força)
  549.                 21, 0, 21, 246, 347, 0, 8.7;
  550.                 161, 0, 21, 246, 347, 0, 8.7;
  551.                 //4ª de baixo para cima no patio atrás do trafo (casa de força)
  552.                 21, 0, 21, 246, 323, 0, 8.7;
  553.                 161, 0, 21, 246, 323, 0, 8.7;
  554.                 //3ª
  555.                 21, 0, 21, 246, 273, 0, 8.7;
  556.                 //2ª
  557.                 21, 0, 21, 246, 244, 0, 8.7;
  558.                 //1ª
  559.                 21, 0, 21, 246, 71, 0, 8.7;
  560.  
  561.  
  562.  
  563.  
  564.                 //Continuação das linhas de aterrarmento variando em x, e deslocando em y e z igual.
  565.                 //Cota 26,60
  566.                 //1ª no patio var em x
  567.                 161, 310, 77, 0, 299, 0, 8.7 ;
  568.                 161, 310, 77, 0, 71, 0, 8.7 ;
  569.                 //2ª
  570.                 161, 310, 112, 0, 299, 0, 8.7;
  571.                 161, 310, 112, 0, 71, 0, 8.7;
  572.                 //3ª
  573.                 161, 310, 142, 0, 299, 0, 8.7;
  574.                 161, 310, 142, 0, 71, 0, 8.7;
  575.                 //4ª
  576.                 161, 310, 177, 0, 299, 0, 8.7;
  577.                 161, 310, 177, 0, 71, 0, 8.7;
  578.                 //5ª
  579.                 161, 310, 212, 0, 299, 0, 8.7;
  580.                 161, 310, 212, 0, 71, 0, 8.7;
  581.                 //6ª
  582.                 21, 310, 247, 0, 299, 0, 8.7;
  583.                 21, 310, 247, 0, 71, 0, 8.7;
  584.  
  585.                 //Aterramento variando em z, e desloca em x, mantem y;
  586.                 21, 0, 21, 0, 21, 350, 8.7;
  587.                 161, 0, 21, 0, 21, 350, 8.7;
  588.                 311, 0, 21, 0, 21, 298, 8.7;
  589.  
  590.                 21, 0, 21, 0, 21, 350, 8.7;
  591.                 213, 0, 58, 0, 21, 298, 8.7;
  592.                 213, 0, 182, 0, 21, 298, 8.7;
  593.                 225, 0, 21, 0, 21, 298, 8.7;
  594.                 268, 0, 21, 0, 21, 298, 8.7;
  595.  
  596.                 21, 0, 77, 0, 21, 350, 8.7;
  597.                 161, 0, 77, 0, 21, 298, 8.7;
  598.                 311, 0, 77, 0, 21, 298, 8.7;
  599.                 225, 0, 77, 0, 21, 298, 8.7;
  600.                 268, 0, 77, 0, 21, 298, 8.7;
  601.                
  602.                 21, 0, 112, 0, 21, 350, 8.7;
  603.                 161, 0, 112, 0, 21, 298, 8.7;
  604.                 311, 0, 112, 0, 21, 298, 8.7;
  605.                 225, 0, 112, 0, 21, 298, 8.7;
  606.                 268, 0, 112, 0, 21, 298, 8.7;
  607.  
  608.                 21, 0, 142, 0, 21, 350, 8.7;
  609.                 161, 0, 142, 0, 21, 298, 8.7;
  610.                 311, 0, 142, 0, 21, 298, 8.7;
  611.                 225, 0, 142, 0, 21, 298, 8.7;
  612.                 268, 0, 142, 0, 21, 298, 8.7;
  613.  
  614.                 21, 0, 177, 0, 21, 350, 8.7;
  615.                 161, 0, 177, 0, 21, 298, 8.7;
  616.                 311, 0, 177, 0, 21, 298, 8.7;
  617.                 225, 0, 177, 0, 21, 298, 8.7;
  618.                 268, 0, 177, 0, 21, 298, 8.7;
  619.  
  620.                 21, 0, 212, 0, 21, 350, 8.7;
  621.                 161, 0, 212, 0, 21, 298, 8.7;
  622.                 311, 0, 212, 0, 21, 298, 8.7;
  623.                 225, 0, 212, 0, 21, 298, 8.7;
  624.                 268, 0, 212, 0, 21, 298, 8.7;
  625.  
  626.                 21, 0, 247, 0, 21, 350, 8.7;
  627.                 161, 0, 247, 0, 21, 350, 8.7;
  628.                 311, 0, 247, 0, 21, 298, 8.7;
  629.                 225, 0, 247, 0, 21, 298, 8.7;
  630.                 268, 0, 247, 0, 21, 298, 8.7
  631.            
  632. ];
  633.                
  634.  
  635. };
  636.  
  637. class interligacao_bucha_para_raio_1{
  638.     hastes(2,2,2,7)=[
  639.         25 50 3 0 27 0 10;
  640.         //conexao1_1 para interligar saída para_raio com a linha
  641.         26 0 3 3 27 0 10;
  642.         //conexão1_2 da interl
  643.         25 25 4 0 27 0 10;
  644.         //conexão2_1
  645.         27 0 3 5 27 0 10;
  646.         //conexão2_2
  647.         25 26 6 0 27 0 10;
  648.         //conexão3_1
  649.         28 0 3 6 27 0 10;
  650.         //conexão3_2
  651.         25 27 7 0 27 0 10;
  652.         //interligação do para_raio com os cabos de conexão
  653.         25 0 3 0 25 27 10;
  654.         //interligação da bucha com os cabos de conexão
  655.         51 0 3 0 25 26 10
  656.     ];
  657. };
  658.  
  659. class interligacao_bucha_para_raio_2{
  660.     hastes(2,2,2,7)=[
  661.         5 50 3 0 27 0 10;
  662.         //conexao1_1 para interligar saída para_raio com a linha
  663.         6 0 3 3 27 0 10;
  664.         //conexão1_2 da interl
  665.         5 5 4 0 27 0 10;
  666.         //conexão2_1
  667.         7 0 3 5 27 0 10;
  668.         //conexão2_2
  669.         5 6 6 0 27 0 10;
  670.         //conexão3_1
  671.         8 0 3 6 27 0 10;
  672.         //conexão3_2
  673.         5 7 7 0 27 0 10;
  674.         //interligação do para_raio com os cabos de conexão
  675.         5 0 3 0 25 27 10;
  676.         //interligação da bucha com os cabos de conexão
  677.         51 0 3 0 25 26 10
  678.        
  679.     ];
  680. };
  681.  
  682. class fios_liga_para_raio_isolador_1{
  683.     hastes(2,2,2,7)=[
  684.        
  685.         25 0  7 0 27 50 12;
  686.         25 85 7 0 51 0 12;
  687.  
  688.         25 0  6 0 27 50 12;
  689.         25 85 6 0 51 0 12;
  690.  
  691.         25 0  4 0 27 50 12;
  692.         25 85 4 0 51 0 12;
  693.        
  694.         25 0  3 0 27 50 12;
  695.         25 85 3 0 51 0 12
  696.        
  697.        
  698.     ];
  699. };
  700.  
  701. class fios_liga_para_raio_isolador_2_meio_subindo{
  702.     hastes(2,2,2,7)=[
  703.        
  704.         5 0  7 0 27 50 12;
  705.         5 85 7 0 51 0 12;
  706.  
  707.         5 0  6 0 27 50 12;
  708.         5 85 6 0 51 0 12;
  709.  
  710.         5 0  4 0 27 50 12;
  711.         5 85 4 0 51 0 12;
  712.        
  713.         5 0  3 0 27 50 12;
  714.         5 85 3 0 51 0 12
  715.        
  716.        
  717.     ];
  718. };
  719.  
  720.  class linha{
  721.     hastes(2,2,2,7)=[
  722.                 1 200 1 0 1 0 12
  723. ];
  724. };
  725.  
  726. //medicao linha superficie do aterramento
  727. class medidor_1{
  728.     tensoes(2,2,2,6)=[
  729.         1, 0, 1,0, -124, 1
  730. ];
  731. };
  732.  
  733. //medicao linha base do aterramento
  734. class medidor_2{
  735.     tensoes(2,2,2,6)=[
  736.         1, 0, 1,0, -352+1, 1
  737. ];
  738. };
  739.  
  740. //medicao linha rocha
  741. class medidor_3{
  742.     tensoes(2,2,2,6)=[
  743.         1, 0, 1,0, -402+50, 1
  744.     ];
  745.  
  746. };
  747.  
  748. //medicao linha aterramento na rocha
  749. class medidor_3_1{
  750.     tensoes(2,2,2,7)=[
  751.         1, 0, 1,0, -402, 1,12
  752.     ];
  753.  
  754. };
  755.  
  756. //medicao linha agua
  757. class medidor_4{
  758.     tensoes(2,2,2,6)=[
  759.         1, 0, 1,0, -402+142, 1
  760.     ];
  761. };
  762.  
  763.  
  764. class cabo_dz{//cabo para ligar linha de transmissao com saida do para_raio
  765.     hastes(2,2,2,7)=[
  766.         1 0 1 0 1 33 12
  767. ];
  768. };
  769.  
  770. class cabo_dz_2{//cabo para ligar linha de transmissao com saida do para_raio
  771.     hastes(2,2,2,7)=[
  772.         1, 0, 1, 1, 37, 0, 12;
  773.         1, 0, 2, 0, 1, 36, 12
  774. ];
  775. };
  776.  
  777.  
  778.  class conector_para_cabos_da_linha{
  779.     hastes(2,2,2,7)=[ 1 0 1 0 1 0 12
  780.     ];                 
  781. };
  782.  
  783.  class H_conector{
  784.     hastes(2,2,2,7)=[
  785.         -1, 0, 1, 0, 1, 3, 12;
  786.         -1, 0, 4, 0, 1, 3, 12;
  787.         -1, 0 ,1, 3, 2, 0 ,12;
  788.         -3, -2, 2, 0, 2, 0, 12
  789.     ];
  790. };
  791.  
  792. class T_conector{
  793.     hastes(2,2,2,7)=[
  794.         1, 0, 3, 0, 2, 6, 12;
  795.         1, 0, 1, 4, 2, 0, 12;
  796.  
  797.         1, 0, 2, 0, -3, 1, 12;
  798.         1, 0, 1, 0, -3,1, 12;
  799.         1, 0, 4, 0, -3, 1, 12;
  800.         1, 0, 5, 0, -3, 1, 12
  801.     ];
  802. };
  803.  
  804. function constroi_duas_torres_e_uma_barra(real xo, real yo, real zo, vector id){
  805.    
  806.     //Linha para fase A
  807.     H_conector t[id[0]++](xo+63,yo+78,zo+114);
  808.  
  809.     linha t[id[0]++](xo+61,yo+78,zo+114);
  810.     cabo_dz t[id[0]++](xo+65,yo+78,zo+81);
  811.  
  812.     medidor_1 t[id[0]++](xo+80,yo+78,zo+113);
  813.     print "1:("; print xo+80+1; print ","; print yo+78+1; print ","; print zo+113-124; print "-"; print zo+113+1; echo ")";
  814.  
  815.     medidor_2 t[id[0]++](xo+80,yo+78,zo+113);
  816.     print "2:("; print xo+80+1; print ","; print yo+78+1; print ","; print zo+113-352; print "-"; print zo+113+1; echo ")";
  817.  
  818.     medidor_3 t[id[0]++](xo+80+50,yo+78,zo+113);
  819.     print "3:("; print xo+80+1+50; print ","; print yo+78+1; print ","; print zo+113-402+50; print "-"; print zo+113+1; echo ")";
  820.  
  821.     medidor_3_1 t[id[0]++](311,91,zo+113);
  822.     print "3_1:("; print xo+80+1+50; print ","; print yo+78+1; print ","; print zo+113-402+50; print "-"; print zo+113+1; echo ")";
  823.  
  824.     medidor_4 t[id[0]++](xo+80+50,yo+78,zo+113);
  825.     print "4:("; print xo+80+1+50; print ","; print yo+78+1; print ","; print zo+113-402+142; print "-"; print zo+113+1; echo ")";
  826.  
  827.     linha t[id[0]++](xo+61,yo+81,zo+114);
  828.     cabo_dz t[id[0]++](xo+65,yo+81,zo+81);
  829.  
  830.     linha t[id[0]++](xo+61,yo+78,zo+117);
  831.     cabo_dz_2 t[id[0]++](xo+65,yo+78,zo+81);
  832.  
  833.     linha t[id[0]++](xo+61,yo+81,zo+117);
  834.     cabo_dz_2 t[id[0]++](xo+65,yo+81,zo+81);
  835.  
  836.     //Linha para fase B
  837.     H_conector t[id[0]++](xo+63,yo+118,zo+114);
  838.  
  839.     linha t[id[0]++](xo+61,yo+118,zo+114);
  840.     cabo_dz t[id[0]++](xo+65,yo+118,zo+81);
  841.  
  842.     medidor_1 t[id[0]++](xo+80,yo+118,zo+113);
  843.     print "1:("; print xo+80+1; print ","; print yo+118+1; print ","; print zo+113-124; print "-"; print zo+113+1; echo ")";
  844.    
  845.     medidor_2 t[id[0]++](xo+80,yo+118,zo+113);
  846.     print "2:("; print xo+80+1; print ","; print yo+118+1; print ","; print zo+113-352; print "-"; print zo+113+1; echo ")";
  847.    
  848.     medidor_3 t[id[0]++](xo+80+50,yo+118,zo+113);
  849.     print "3:("; print xo+80+1+50; print ","; print yo+118+1; print ","; print zo+113-402+50; print "-"; print zo+113+1; echo ")";
  850.  
  851.     medidor_3_1 t[id[0]++](311,131,zo+113);
  852.    
  853.     medidor_4 t[id[0]++](xo+80+50,yo+118,zo+113);
  854.     print "4:("; print xo+80+1+50; print ","; print yo+118+1; print ","; print zo+113-402+142; print "-"; print zo+113+1; echo ")";
  855.  
  856.     linha t[id[0]++](xo+61,yo+121,zo+114);
  857.     cabo_dz t[id[0]++](xo+65,yo+121,zo+81);
  858.  
  859.     linha t[id[0]++](xo+61,yo+118,zo+117);
  860.     cabo_dz_2 t[id[0]++](xo+65,yo+118,zo+81);
  861.  
  862.     linha t[id[0]++](xo+61,yo+121,zo+117);
  863.     cabo_dz_2 t[id[0]++](xo+65,yo+121,zo+81);
  864.  
  865.     //Linha para fase V
  866.     H_conector t[id[0]++](xo+63,yo+158,zo+114);
  867.  
  868.     linha t[id[0]++](xo+61,yo+158,zo+114);
  869.     cabo_dz t[id[0]++](xo+65,yo+158,zo+81);
  870.  
  871.     medidor_1 t[id[0]++](xo+80,yo+158,zo+113);
  872.     print "1:("; print xo+80+1; print ","; print yo+158+1; print ","; print zo+113-124; print "-"; print zo+113+1; echo ")";
  873.  
  874.     medidor_2 t[id[0]++](xo+80,yo+158,zo+113);
  875.     print "2:("; print xo+80+1; print ","; print yo+158+1; print ","; print zo+113-352; print "-"; print zo+113+1; echo ")";
  876.  
  877.     medidor_3 t[id[0]++](xo+80+50,yo+158,zo+113);
  878.     print "3:("; print xo+80+1+50; print ","; print yo+158+1; print ","; print zo+113-402+50; print "-"; print zo+113+1; echo ")";
  879.  
  880.     medidor_3_1 t[id[0]++](311,171,zo+113);
  881.    
  882.  
  883.     medidor_4 t[id[0]++](xo+80+50,yo+158,zo+113);
  884.     print "4:("; print xo+80+1+50; print ","; print yo+158+1; print ","; print zo+113-402+142; print "-"; print zo+113+1; echo ")";
  885.  
  886.     linha t[id[0]++](xo+61,yo+161,zo+114);
  887.     cabo_dz t[id[0]++](xo+65,yo+161,zo+81);
  888.  
  889.     linha t[id[0]++](xo+61,yo+158,zo+117);
  890.     cabo_dz_2 t[id[0]++](xo+65,yo+158,zo+81);
  891.  
  892.     linha t[id[0]++](xo+61,yo+161,zo+117);
  893.     cabo_dz_2 t[id[0]++](xo+65,yo+161,zo+81);
  894.  
  895. //return 0;
  896.  
  897.     constroi_barra_que_liga_torres( xo+11,yo+26,zo+92,       52,3,id);
  898.    
  899.     constroi_torre(xo,yo,zo,id);   
  900.     constroi_torre(xo,yo+159,zo,id);
  901.  
  902.     isolador_vidro_z I[id[0]++](xo+30,yo+78,zo+90);
  903.     isolador_vidro_z I[id[0]++](xo+30,yo+118,zo+90);
  904.     isolador_vidro_z I[id[0]++](xo+30,yo+158,zo+90);
  905.    
  906.     T_conector I[id[0]++](xo+31,yo+78,zo+85);
  907.     T_conector I[id[0]++](xo+31,yo+118,zo+85);
  908.     T_conector I[id[0]++](xo+31,yo+158,zo+85);
  909.  
  910.     isolador_vidro_x I[id[0]++](xo+40,yo+78,zo+114);
  911.     isolador_vidro_x I[id[0]++](xo+40,yo+118,zo+114);
  912.     isolador_vidro_x I[id[0]++](xo+40,yo+158,zo+114);
  913.  
  914. }
  915.  
  916.  
  917. function saida_da_usina(real xo, real yo, real zo, vector id, real marc){
  918.  
  919.     constroi_duas_torres_e_uma_barra(xo+230,yo+12,zo+320,id);
  920.  
  921.  
  922.     if(marc==0){
  923.         rocha_final t[id[0]++](xo+0,yo,zo+10);
  924.  
  925.         echo marc;
  926.  
  927.     }else{
  928.         agua_final t[id[0]++](xo+0,yo+0,zo+10);
  929.         echo marc;
  930.     }
  931.     if(marc==0){
  932.         rocha_final t[id[0]++](xo+0,yo+220,zo+10);
  933.     }else{
  934.         agua_final t[id[0]++](xo+0,yo+220,zo+10);
  935.     }
  936.  
  937.     trafo t[id[0]++] (xo+120,yo+0,zo+293+3);
  938.     trafo t[id[0]++](xo+120,yo+62,zo+293+3);
  939.  
  940.    
  941.  
  942.     pisos  t[id[0]++] (xo+0,yo+0,zo+10);
  943.     rocha t[id[0]++](xo+0,yo+0,zo+10);
  944.     agua  t[id[0]++](xo+0,yo+0,zo+10);
  945.  
  946.     parede_corta_fogo t[id[0]++](xo+120,yo+0,zo+290);
  947.  
  948.     bucha t[id[0]++](xo+256,yo+86,zo+293+30);
  949.     bucha t[id[0]++](xo+256,yo+126,zo+293+30);
  950.     bucha t[id[0]++](xo+256,yo+166,zo+293+30);
  951.  
  952.     para_raio t[id[0]++](xo+230,yo+86,zo+293+30);
  953.     conexao_para_raio_aterramento t[id[0]++](xo+230,yo+86,zo+293+30);
  954.  
  955.     para_raio t[id[0]++](xo+230,yo+126,zo+293+30);
  956.     conexao_para_raio_aterramento t[id[0]++](xo+230,yo+126,zo+293+30);
  957.  
  958.     para_raio t[id[0]++](xo+230,yo+166,zo+293+30);
  959.     conexao_para_raio_aterramento t[id[0]++](xo+230,yo+166,zo+293+30);
  960.  
  961.     para_raio t[id[0]++](xo+210,yo+126,zo+293+30);
  962.     conexao_para_raio_aterramento_dcp t[id[0]++](xo+210,yo+126,zo+293+30);
  963.  
  964.    
  965.     aterramento t[id[0]++](xo+0,yo+ 0,zo+10);
  966.  
  967.     interligacao_bucha_para_raio_1 t[id[0]++](xo+210,yo+88,zo+293+58);
  968.     interligacao_bucha_para_raio_1 t[id[0]++](xo+210,yo+168,zo+293+58);
  969.     interligacao_bucha_para_raio_2 t[id[0]++](xo+210,yo+128,zo+293+58);
  970.    
  971.     fios_liga_para_raio_isolador_1 t[id[0]++](xo+210,yo+88,zo+293+58);
  972.     fios_liga_para_raio_isolador_1 t[id[0]++](xo+210,yo+168,zo+293+58);
  973.    
  974.     fios_liga_para_raio_isolador_2_meio_subindo tt[id[0]++](xo+210,yo+128,zo+293+58);  
  975.  
  976.  
  977. }
  978.  
  979. exec {
  980.         vector id(1);
  981.          id[0]=0;
  982.    
  983.  
  984.     xo=0; yo=0; zo=0;
  985.  
  986.     for(n=0;n<1;n++){
  987.         saida_da_usina(xo,yo+230*n,zo,id,n);
  988.     }
  989.  
  990.    
  991. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement