1 ESSAI_FACT=OPER(nom="ESSAI_FACT",
2 sd_prod=ObjetUtilisateur,
4 fr=tr("Affectation de caractéristiques à des éléments de structure"),
5 regles = (AU_MOINS_UN('Poutre','Barre'),
6 EXCLUS('Discret','Discret_2D'),),
7 Info = SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ),
8 Verif = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("Maille","Noeud") ),
10 # ==============================================================================
11 Poutre = FACT(statut= 'f',max= '**',
12 Section = SIMP(statut= 'o',typ= 'TXM' ,into= ("GENERALE","RECTANGLE","CERCLE") ),
14 b_generale = BLOC(condition = " Section == 'GENERALE'",
15 regles = (UN_PARMI('Maille','GroupeMailles'),),
16 Maille = SIMP(statut= 'f',typ= ma ,validators= NoRepeat(),max= '**'),
17 GroupeMailles = SIMP(statut= 'f',typ= grma,validators= NoRepeat(),max= '**'),
19 Vari = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE"),defaut= "CONSTANT"),
21 b_constant = BLOC(condition = "Vari == 'CONSTANT'",
22 regles = (PRESENT_ABSENT('Table','Cara'),
23 PRESENT_PRESENT('Table','Nom'),
24 PRESENT_PRESENT('Cara','Valeur'),),
25 Table = SIMP(statut= 'f',typ='TXM'),
26 Nom = SIMP(statut= 'f',typ= 'TXM'),
27 Cara = SIMP(statut= 'o',typ= 'TXM',min= 4 ,max= 5,
28 fr= tr("A,IY,IZ,JX sont des paramètres obligatoires"),
29 validators= [NoRepeat(), Compulsory(['A','IY','IZ','JX'])],
30 into= ("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT","JG","IYR2","IZR2","AI") ),
31 Valeur = SIMP(statut= 'f',typ= 'R',min= 4 ,max= 15),
34 b_rectangle = BLOC(condition = "Section == 'RECTANGLE'",
35 regles = (UN_PARMI('Maille','GroupeMailles'),),
36 Maille = SIMP(statut= 'f',typ= ma ,validators= NoRepeat(),max= '**'),
37 GroupeMailles = SIMP(statut= 'f',typ= grma,validators= NoRepeat(),max= '**'),
38 Vari = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE","AFFINE"),defaut= "CONSTANT"),
39 b_constant = BLOC(condition = "Vari == 'CONSTANT'",
40 Cara = SIMP(statut= 'o',typ= 'TXM',min= 1 ,max= 4,
41 validators = [NoRepeat(),
42 OrVal( [AndVal( [Compulsory(['H']),Absent(['HY','HZ','EPY','EPZ'])] ),
43 AndVal( [Compulsory(['HY','HZ']),Together(['EPY','EPZ']),Absent(['H','EP'])] )] )],
44 into= ("H","EP", "HY","HZ","EPY","EPZ"),),
45 Valeur = SIMP(statut= 'o',typ= 'R',min= 1 ,max= 4),
48 Metrique = SIMP(statut= 'f',typ= 'TXM',defaut= "NON",into= ("OUI","NON") ),
49 Fcx = SIMP(statut= 'f',typ= 'R'),
50 Tuyau = SIMP(statut= 'f',typ= 'I',val_max= 10,defaut= 3),
54 # ==============================================================================
55 Barre = FACT(statut='f',max='**',
56 regles = (UN_PARMI('Maille','GroupeMailles'),),
57 Maille = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
58 GroupeMailles = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
59 Section = SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ),
60 b_generale = BLOC(condition = "Section=='GENERALE'",
61 regles = (PRESENT_ABSENT('Table','Cara'),
62 PRESENT_PRESENT('Table','Nom'),
63 PRESENT_PRESENT('Cara','Valeur')),
64 Table = SIMP(statut='f',typ=table_sdaster),
65 Nom = SIMP(statut='f',typ='TXM',validators=LongStr(1,24) ),
66 Cara = SIMP(statut='f',typ='TXM',into=("A",) ),
67 Valeur = SIMP(statut='f',typ='R',min=1,max=1 ),
69 b_rectangle = BLOC(condition = "Section=='RECTANGLE'",
70 Cara = SIMP(statut='o',typ='TXM', min=1, max=4,
71 validators = [NoRepeat(),
72 OrVal( [AndVal( [Compulsory(['H']),Absent(['HY','HZ','EPY','EPZ'])] ),
73 AndVal( [Compulsory(['HY','HZ']),Together(['EPY','EPZ']),Absent(['H','EP'])] )] )],
74 into=("H","EP","HZ","HY","EPY","EPZ"), ),
75 Valeur = SIMP(statut='o',typ='R',min=1,max=4 ), ),
76 b_cercle = BLOC(condition = "Section=='CERCLE'",
77 Cara = SIMP(statut='o',typ='TXM',validators=[NoRepeat(),Compulsory(['R'])],min=1,max=2,into=("R","EP") ),
78 Valeur = SIMP(statut='o',typ='R',min=1,max=2 ), ),
81 # ==============================================================================
82 Discret = FACT(statut='f',max='**',
83 REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
84 AMOR_HYST = SIMP(statut='f',typ='R' ),
85 SYME = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),),
86 b_SYME_OUI = BLOC(condition="SYME=='OUI'",
87 fr=tr("SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds"),
88 Cara = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None",
89 into = ("K_T_D_N", "K_T_D_L", "K_TR_D_N", "K_TR_D_L", "K_T_N", "K_T_L", "K_TR_N", "K_TR_L",
90 "M_T_D_N", "M_T_D_L", "M_TR_D_N", "M_TR_D_L", "M_T_N", "M_T_L", "M_TR_N", "M_TR_L",
91 "A_T_D_N", "A_T_D_L", "A_TR_D_N", "A_TR_D_L", "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),),
92 # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE
93 b_AK_T_D_N = BLOC(condition = "((Cara=='K_T_D_N')or(Cara=='A_T_D_N'))",
94 fr = tr("Noeud: 3 valeurs (triangulaire supérieure par colonne)"),
95 regles = (UN_PARMI('Maille','GroupeMailles','Noeud','GROUP_NO'),),
96 Noeud = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
97 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
98 Maille = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
99 GroupeMailles = SIMP(statut='f',typ=grma,validators=NoRepeat(),homo='SansOrdreNiDoublon',max='**'),
100 Valeur = SIMP(statut='o',typ='R',min=3 ,max=3 ),),
104 # ==============================================================================
105 Discret_2D = FACT(statut='f',max='**',
106 REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
107 AMOR_HYST = SIMP(statut='f',typ='R' ),
108 SYME = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),),