// Recherche de l'arrete de devant sur laquelle est contrainte la platine. private Edge ArreteDevant(List <Mate2> listeContraintes, Face2 faceDessus) { Mate2 Ct = null; // On rechercher la contrainte avec un point foreach (Mate2 Contrainte in listeContraintes) { foreach (MateEntity2 Ent in Contrainte.eListeDesEntitesDeContrainte()) { if (Ent.ReferenceType2 == (int)swSelectType_e.swSelEXTSKETCHPOINTS) { Ct = Contrainte; break; } } if (Ct.IsRef()) { break; } } if (Ct.IsNull()) { return(null); } Face2 F_Devant = null; // On recherche la face associée à cette contrainte foreach (MateEntity2 Ent in Ct.eListeDesEntitesDeContrainte()) { if (Ent.ReferenceType2 == (int)swSelectType_e.swSelFACES) { F_Devant = (Face2)Ent.Reference; break; } } if (F_Devant.IsNull()) { return(null); } List <Edge> ListeArretes = F_Devant.eListeDesArretesCommunes(faceDessus); if (ListeArretes.Count > 0) { return(ListeArretes[0]); } return(null); }