$$$$ @REPERE * @REPERE PROCEDUR KK2000 07/02/08 21:15:01 5652 DEBPROC @REPERE ORI1/'POINT' TAI0/'LISTREEL' NOM1/'LOGIQUE' COU1/'MOT' ; * [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][] * Procedure pour la construction d'un repere X Y Z * CHAMPANEY Laurent L.M.T. STRUCTURES et CMAO le 24 / 04 / 95 * * on envoie * ORI1 POINT origine du repere * ((0. 0. 0.) par defaut) * TAIL0 LISTREEL tailles en X,Y et Z du repere * ((PROG 1. 1. 1.) par defaut) * NOM1 LOGIQUE VRAI pour nommer les axes * (VRAI par defaut) * COUL1 MOT couleur du repere * (BLAN par defaut) * on recupere * RP1 MAILLAGE du repere * ====================================================================== ELE1 = VALE ELEM ; SI ((VALE DIME) NEG 3) ; ERRE 'POUR TRACER LE REPERE Il FAUT ETRE EN DIMENSION 3' ; FINSI ; LCO1 = MOTS 'BLEU' 'ROUG' 'ROSE' 'JAUN' 'VERT' 'TURQ' 'BLAN' ; SI (NON (EXIS ORI1)) ; ORI1 = 0. 0. 0. ; FINSI ; SI (NON (EXIS TAI0)) ; TAI0 = PROG 1. 1. 1. ; FINSI ; SI (NON (EXIS NOM1)) ; NOM1 = VRAI ; FINSI ; SI (NON (EXIS COU1)) ; COU1 = 'BLAN' ; FINSI ; SI (NON (EXIS LCO1 COU1)) ; COU1 = 'BLAN' ; FINSI ; TAIL1 = EXTR TAI0 1 ; TAIL2 = EXTR TAI0 2 ; TAIL3 = EXTR TAI0 3 ; D1 = (MINI TAI0) / 20. ; D2 = -1.*D1 ; X = ORI1 PLUS (TAIL1 0. 0.) ; Y = ORI1 PLUS (0. TAIL2 0.) ; Z = ORI1 PLUS (0. 0. TAIL3) ; RP1 = (MANU SEG2 ORI1 X) ET (MANU SEG2 ORI1 Y) ET (MANU SEG2 ORI1 Z) ; RP1 = RP1 ET (MANU SEG2 X (X PLUS (D2 0. D1))) ET (MANU SEG2 X (X PLUS (D2 0. D2))) ET (MANU SEG2 Y (Y PLUS (0. D2 D1))) ET (MANU SEG2 Y (Y PLUS (0. D2 D2))) ET (MANU SEG2 Z (Z PLUS (D1 0. D2))) ET (MANU SEG2 Z (Z PLUS (D2 0. D2))); SI (NOM1); NOMX = (MANU SEG2 ( X PLUS (D1 0. D1)) ( X PLUS ((2.*D1) 0. (-1.*D1))) ) ET (MANU SEG2 ( X PLUS (D1 0. (-1.*D1))) ( X PLUS ((2.*D1) 0. D1)) ) ; NOMY = (MANU SEG2 ( Y PLUS (0. D1 D1)) ( Y PLUS (0. (1.5*D1) 0.)) ) ET (MANU SEG2 ( Y PLUS (0. D1 (-1.*D1))) ( Y PLUS (0. (2.*D1) D1)) ) ; NOMZ = (MANU SEG2 ( Z PLUS ((-0.5*D1) 0. D1 )) ( Z PLUS (( 0.5*D1) 0. D1 )) ) ET (MANU SEG2 ( Z PLUS (( 0.5*D1) 0. D1)) ( Z PLUS ((-0.5*D1) 0. (2.*D1))) ) ET (MANU SEG2 ( Z PLUS ((-0.5*D1) 0. (2.*D1))) ( Z PLUS (( 0.5*D1) 0. (2.*D1))) ) ; RP1 = RP1 ET NOMX ET NOMY ET NOMZ ; FINSI ; RP1 = RP1 COUL COU1 ; * Fin de la procedure @REPERE FINPROC RP1 ;