/// <summary> /// Scanner les fonctions de la vue à partir du FeatureManager /// </summary> /// <param name="Noeud"></param> /// <param name="ListeFonctions"></param> /// <param name="NomARechercher"></param> /// <param name="TypeDeLaFonction"></param> /// <param name="AvecLesSousFonctions"></param> private void ScannerFonctionsFeatureManager(TreeControlItem Noeud, ArrayList ListeFonctions, String NomARechercher, String TypeDeLaFonction, Boolean AvecLesSousFonctions) { Log.Methode(cNOMCLASSE); TreeControlItem pNoeud = Noeud.GetFirstChild(); while (pNoeud != null) { eFonction pFonction = new eFonction(); if (pNoeud.ObjectType == (int)swTreeControlItemType_e.swFeatureManagerItem_Feature) { if (pFonction.Init(pNoeud.Object, ModeleDeReference) && Regex.IsMatch(pFonction.Nom, NomARechercher) && Regex.IsMatch(pFonction.TypeDeLaFonction, TypeDeLaFonction)) { ListeFonctions.Add(pFonction); } } // On scanne dans tous les cas le dossier Tôlerie et le dossier Etat déplié if (AvecLesSousFonctions || (pFonction.EstInitialise && (pFonction.TypeDeLaFonction == "TemplateSheetMetal")) || (pFonction.EstInitialise && (pFonction.TypeDeLaFonction == "TemplateFlatPattern"))) ScannerFonctionsFeatureManager(pNoeud, ListeFonctions, NomARechercher, TypeDeLaFonction, AvecLesSousFonctions); pNoeud = pNoeud.GetNext(); } }
/// <summary> /// Retourne l'objet sélectionné. /// </summary> /// <param name="Index"></param> /// <param name="Marque"></param> /// <returns></returns> public dynamic Objet(int Index, int Marque = -1, Boolean RenvoyerObjet = false) { Log.Methode(cNOMCLASSE); if (NbObjetsSelectionnes() == 0) return null; eModele pModele = _Modele; if (_Modele.TypeDuModele != TypeFichier_e.cDessin) pModele = Composant(Index, Marque).Modele; dynamic pSwObjet = _SwGestDeSelection.GetSelectedObject6(Index, Marque); swSelectType_e pType = TypeObjet(Index, Marque); if ((pModele != null) && pModele.EstInitialise && !RenvoyerObjet) { switch (pType) { case swSelectType_e.swSelCOMPONENTS: Component2 pSwComposant = pSwObjet; eComposant pComposant = new eComposant(); if (pComposant.Init(pSwComposant, pModele)) { Modele.Composant = pComposant; return pComposant; } break; case swSelectType_e.swSelCONFIGURATIONS: Configuration pSwConfiguration = pSwObjet; eConfiguration pConfiguration = new eConfiguration(); if (pConfiguration.Init(pSwConfiguration, pModele)) return pConfiguration; break; case swSelectType_e.swSelDRAWINGVIEWS: View pSwVue = pSwObjet; eVue pVue = new eVue(); if (pVue.Init(pSwVue, pModele)) return pVue; break; case swSelectType_e.swSelSHEETS: Sheet pSwFeuille = pSwObjet; eFeuille pFeuille = new eFeuille(); if (pFeuille.Init(pSwFeuille, pModele)) return pFeuille; break; case swSelectType_e.swSelSOLIDBODIES: Body2 pSwCorps = pSwObjet; eCorps pCorps = new eCorps(); if (pCorps.Init(pSwCorps, pModele)) return pCorps; break; case swSelectType_e.swSelDATUMPLANES: case swSelectType_e.swSelDATUMAXES: case swSelectType_e.swSelDATUMPOINTS: case swSelectType_e.swSelATTRIBUTES: case swSelectType_e.swSelSKETCHES: case swSelectType_e.swSelSECTIONLINES: case swSelectType_e.swSelDETAILCIRCLES: case swSelectType_e.swSelMATES: case swSelectType_e.swSelBODYFEATURES: case swSelectType_e.swSelREFCURVES: case swSelectType_e.swSelREFERENCECURVES: case swSelectType_e.swSelREFSILHOUETTE: case swSelectType_e.swSelCAMERAS: case swSelectType_e.swSelSWIFTANNOTATIONS: case swSelectType_e.swSelSWIFTFEATURES: case swSelectType_e.swSelCTHREADS: eFonction pFonction = new eFonction(); if (pFonction.Init(pSwObjet, pModele)) return pFonction; break; default: eObjet pObjet = new eObjet(); eModele pInitModele; if ((pModele != null) && pModele.EstInitialise) pInitModele = pModele; else pInitModele = _Modele; if (pObjet.Init(pInitModele, pSwObjet, pType)) return pObjet; break; } } else if (RenvoyerObjet) { eObjet pObjet = new eObjet(); eModele pInitModele = _Modele; if ((pModele != null) && pModele.EstInitialise) pInitModele = pModele; pObjet.Init(pInitModele, pSwObjet, pType); if (pObjet.EstInitialise) return pObjet; } return null; }
/// <summary> /// Renvoi le dossier Tôlerie à partir du FeatureManager /// </summary> /// <returns></returns> private eFonction DossierTolerie() { Log.Methode(cNOMCLASSE); TreeControlItem pNoeud = Piece.Modele.GestDeFonction_NoeudRacine().GetFirstChild(); while (pNoeud != null) { eFonction pFonction = new eFonction(); if (pNoeud.ObjectType == (int)swTreeControlItemType_e.swFeatureManagerItem_Feature) { if (pFonction.Init(pNoeud.Object, Piece.Modele) && (pFonction.TypeDeLaFonction == "TemplateSheetMetal")) return pFonction; } pNoeud = pNoeud.GetNext(); } return null; }