Download @repere.procedur

Back to the list

   1 : * @REPERE   PROCEDUR  KK2000    07/02/08    21:15:01     5652           
   2 : DEBPROC @REPERE   ORI1/'POINT'     TAI0/'LISTREEL'
   3 :                  NOM1/'LOGIQUE'   COU1/'MOT'       ; 
   4 : * [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
   5 : * Procedure pour la construction d'un repere X Y Z
   6 : *     CHAMPANEY Laurent   L.M.T. STRUCTURES et CMAO  le 24 / 04 / 95
   7 : *
   8 : * on envoie
   9 : *               ORI1     POINT     origine du repere
  10 : *                                  ((0. 0. 0.) par defaut)
  11 : *               TAIL0    LISTREEL  tailles en X,Y et Z du repere
  12 : *                                  ((PROG 1. 1. 1.) par defaut)
  13 : *               NOM1     LOGIQUE   VRAI pour nommer les axes
  14 : *                                  (VRAI par defaut)
  15 : *               COUL1    MOT       couleur du repere
  16 : *                                  (BLAN par defaut)
  17 : * on recupere 
  18 : *               RP1      MAILLAGE  du repere
  19 : * ====================================================================== 
  20 : ELE1 = VALE ELEM ;
  21 : SI ((VALE DIME) NEG 3) ;
  22 :   ERRE 'POUR TRACER LE REPERE Il FAUT ETRE EN DIMENSION 3' ;
  23 : FINSI ;
  24 : LCO1 = MOTS 'BLEU' 'ROUG' 'ROSE' 'JAUN' 'VERT' 'TURQ' 'BLAN' ;
  25 : SI (NON (EXIS ORI1)) ;       ORI1 =  0. 0. 0. ;      FINSI ;
  26 : SI (NON (EXIS TAI0)) ;       TAI0 = PROG 1. 1. 1. ;  FINSI ;
  27 : SI (NON (EXIS NOM1)) ;       NOM1 = VRAI ;           FINSI ;
  28 : SI (NON (EXIS COU1)) ;       COU1 = 'BLAN' ;         FINSI ;
  29 : SI (NON (EXIS LCO1 COU1)) ;  COU1 = 'BLAN' ;         FINSI ;
  30 : TAIL1 = EXTR TAI0 1 ;  TAIL2 = EXTR TAI0 2 ;  TAIL3 = EXTR TAI0 3 ;
  31 : D1 = (MINI TAI0) / 20. ;  D2 = -1.*D1 ;
  32 : X = ORI1 PLUS (TAIL1 0. 0.) ;  Y = ORI1 PLUS (0. TAIL2  0.) ;
  33 : Z = ORI1 PLUS (0. 0. TAIL3) ;
  34 : RP1 = (MANU SEG2 ORI1 X) ET (MANU SEG2 ORI1 Y) ET 
  35 :           (MANU SEG2 ORI1 Z) ;
  36 : RP1 = RP1 ET (MANU SEG2 X (X PLUS (D2 0. D1))) ET 
  37 :           (MANU SEG2 X (X PLUS (D2 0. D2)))
  38 :           ET (MANU SEG2 Y (Y PLUS (0. D2 D1))) ET 
  39 :           (MANU SEG2 Y (Y PLUS (0. D2 D2)))
  40 :           ET (MANU SEG2 Z (Z PLUS (D1 0. D2))) ET 
  41 :           (MANU SEG2 Z (Z PLUS (D2 0. D2)));
  42 : SI (NOM1);
  43 :   NOMX = (MANU SEG2 ( X PLUS (D1 0. D1)) 
  44 :          ( X PLUS ((2.*D1) 0. (-1.*D1))) ) ET
  45 :          (MANU SEG2 ( X PLUS (D1 0. (-1.*D1))) 
  46 :          ( X PLUS ((2.*D1) 0. D1)) ) ;
  47 :   NOMY = (MANU SEG2 ( Y PLUS (0. D1  D1)) 
  48 :          ( Y PLUS (0. (1.5*D1) 0.)) ) ET
  49 :          (MANU SEG2 ( Y PLUS (0. D1  (-1.*D1))) 
  50 :          ( Y PLUS (0. (2.*D1) D1)) ) ;
  51 :   NOMZ = (MANU SEG2 ( Z PLUS ((-0.5*D1) 0. D1 )) 
  52 :               ( Z PLUS (( 0.5*D1) 0. D1 )) ) ET
  53 :          (MANU SEG2 ( Z PLUS (( 0.5*D1) 0. D1)) 
  54 :               ( Z PLUS ((-0.5*D1) 0. (2.*D1))) ) ET
  55 :          (MANU SEG2 ( Z PLUS ((-0.5*D1) 0. (2.*D1))) 
  56 :               ( Z PLUS (( 0.5*D1) 0. (2.*D1))) ) ;
  57 :   RP1 = RP1 ET NOMX ET NOMY ET NOMZ ;
  58 : FINSI ;
  59 : RP1 = RP1 COUL COU1 ;
  60 : * Fin de la procedure @REPERE
  61 : FINPROC RP1 ;
  62 :  

© Cast3M 2003 - All rights reserved.
Disclaimer