$$$$ @VISOR * @VISOR PROCEDUR AM 94/10/14 21:15:11 1279 *----------------------------------------------------------- ****** PROCEDURE @VISOR ****** *----------------------------------------------------------- * * CETTE PROCEDURE A ETE MISE GRACIEUSEMENT * A DISPOSITION DE LA COMMUNAUTE CASTEM2000 * PAR DELERUYELLE Fr. (SOCOTEC-INDUSTRIE à l'IPSN/DES) * *----------------------------------------------------------- * VISUALISER L ORIENTATION DES ELEMENTS *---------------------------------------------------------- 'DEBP' @VISOR SU*'MAILLAGE' KA/'FLOTTANT' MACOUL/'MOT' ; 'SI' ('NON' ('EXISTE' MACOUL)) ; MACOUL = 'JAUN' ; 'FINSI' ; 'SI' ('NON' ('EXISTE' KA)) ; KA = 2. / 3. ; 'FINSI' ; TLN = 'TABL' ; TLN. 'TRI3' = 'LECT' 1 2 3 ; TLN. 'QUA4' = TLN. 'TRI3' ; TLN. 'TRI6' = 'LECT' 1 3 5 ; TLN. 'QUA8' = TLN. 'TRI6' ; VDI = 'VALE' DIME ; LM = SU 'ELEM' 'TYPE' ; KM = 0 ; 'REPE' BOUM ('DIME' LM) ; KM = KM + 1 ; MM = 'EXTR' LM KM ; LI = SU 'ELEM' MM ; MESS '*** visor *** Traitement de' ('NBEL' LI) MM ; 'SI' (('EGA' MM 'SEG2') 'OU' ('EGA' MM 'SEG3')) ; * TRAITEMENT DES SEG2 ET SEG3 NEL = 'NBEL' LI ; KEL = 0 ; 'REPE' BOUEL NEL ; KEL = KEL + 1 ; E = LI 'ELEM' KEL ; P1 = E 'POIN' 'INIT' ; P2 = E 'POIN' 'FINA' ; G = 'BARY' E ; U = P2 'MOIN' P1 ; XL = 'NORM' U ; U = U * (1. / XL) ; 'DEPL' G 'MOIN' (U * (KA * XL / 2.)) ; V = U * (KA * XL) ; 'SI' ('EGA' ('TYPE' CHF) 'MOT ') ; CHF = 'MANU' 'CHPO' G 3 'FX' ('COOR' 1 V) 'FY' ('COOR' 2 V) 'FZ' ('COOR' 3 V) 'NATURE' 'DIFFUS' ; 'SINON' ; CHF = CHF 'ET' ('MANU' 'CHPO' G 3 'FX' ('COOR' 1 V) 'FY' ('COOR' 2 V) 'FZ' ('COOR' 3 V) 'NATURE' 'DIFFUS') ; 'FINSI' ; 'FIN' BOUEL ; 'SINON' ; 'SI' (('EGA' MM 'TRI3') 'OU' ('EGA' MM 'TRI6') 'OU' ('EGA' MM 'QUA4') 'OU' ('EGA' MM 'QUA8')) ; * TRAITEMENT DES TRIA ET QUAD 'SI' (VDI 'EGA' 2) ; ** SURFACE EN 2D NEL = 'NBEL' LI ; KEL = 0 ; 'REPE' BOUEL2 NEL ; KEL = KEL + 1 ; E = LI 'ELEM' KEL ; G = 'BARY' E ; EP = 'CHAN' 'POI1' E ; P1 = (EP 'ELEM' ('EXTR' TLN.MM 1)) 'POIN' 'INIT' ; P2 = (EP 'ELEM' ('EXTR' TLN.MM 2)) 'POIN' 'INIT' ; P3 = (EP 'ELEM' ('EXTR' TLN.MM 3)) 'POIN' 'INIT' ; U12 = P2 'MOIN' P1 ; U23 = P3 'MOIN' P2 ; ZPV = (('COOR' 1 U12) * ('COOR' 2 U23)) - (('COOR' 2 U12) * ('COOR' 1 U23)) ; XLL = 'ABS' ZPV ; ZV = ZPV * ((XLL ** -0.5) * KA) ; 'DEPL' G 'MOIN' (0. (ZV / 2.)) ; 'SI' ('EGA' ('TYPE' CHF) 'MOT ') ; CHF = 'MANU' 'CHPO' G 3 'FX' 0. 'FY' ZV 'FZ' 0. 'NATURE' 'DIFFUS' ; 'SINON' ; CHF = CHF 'ET' ('MANU' 'CHPO' G 3 'FX' 0. 'FY' ZV 'FZ' 0. 'NATURE' 'DIFFUS') ; 'FINSI' ; 'FIN' BOUEL2 ; 'SINON' ; ** SURFACE EN 3D NEL = 'NBEL' LI ; KEL = 0 ; 'REPE' BOUEL3 NEL ; KEL = KEL + 1 ; E = LI 'ELEM' KEL ; G = 'BARY' E ; EP = 'CHAN' 'POI1' E ; P1 = (EP 'ELEM' ('EXTR' TLN.MM 1)) 'POIN' 'INIT' ; P2 = (EP 'ELEM' ('EXTR' TLN.MM 2)) 'POIN' 'INIT' ; P3 = (EP 'ELEM' ('EXTR' TLN.MM 3)) 'POIN' 'INIT' ; U12 = P2 'MOIN' P1 ; U23 = P3 'MOIN' P2 ; V = U12 'PVEC' U23 ; XLL = 'NORM' V ; V = V * ((XLL ** -0.5) * KA) ; 'SI' ('EGA' ('TYPE' CHF) 'MOT ') ; CHF = 'MANU' 'CHPO' G 3 'FX' ('COOR' 1 V) 'FY' ('COOR' 2 V) 'FZ' ('COOR' 3 V) 'NATURE' 'DIFFUS' ; 'SINON' ; CHF = CHF 'ET' ('MANU' 'CHPO' G 3 'FX' ('COOR' 1 V) 'FY' ('COOR' 2 V) 'FZ' ('COOR' 3 V) 'NATURE' 'DIFFUS') ; 'FINSI' ; 'FIN' BOUEL3 ; 'FINSI' ; 'SINON' ; * ELEMENT PAS PREVU 'MESS' 'On ne sait pas visualiser l orientation des ' MM ; 'FINSI' ; 'FINSI' ; 'FIN' BOUM ; * VECTEUR 'SI' ('EGA' ('TYPE' CHF) 'CHPOINT ') ; 'SI' (VDI 'EGA' 2) ; VCHF = 'VECT' CHF 1. 'FX' 'FY' MACOUL ; 'SINON' ; VCHF = 'VECT' CHF 1. 'FX' 'FY' 'FZ' MACOUL ; 'FINSI' ; 'FINSI' ; 'MENA' ; 'FINP' VCHF ;