/// <summary> /// Renvoi le modele actif ou ouvre le fichier à partir du chemin passé en parametre. /// Le fichier est ouvert en mode silencieux, il ne devrait donc pas être visible. /// </summary> /// <param name="Chemin"></param> /// <returns></returns> public eModele Modele(String Chemin = "") { Log.Methode(cNOMCLASSE); eModele pModele = new eModele(); if (String.IsNullOrEmpty(Chemin)) { Log.Message("Document actif"); ModelDoc2 pModeleActif = _SwSW.ActiveDoc; pModele.Init(pModeleActif, this); pModele.ReinitialiserComposant(); } else { Log.Message("Ouvrir " + Chemin); pModele.Init(Ouvrir(Chemin), this); } if (pModele.EstInitialise) return pModele; else return null; }
/// <summary> /// Renvoi le modele en cours d'edition /// </summary> /// <returns></returns> public eModele ModeleEnCoursEdition() { Log.Methode(cNOMCLASSE); eModele pModeleActif = this.Modele(); eModele pModeleEdite = new eModele(); if (pModeleActif.EstInitialise && (pModeleActif.TypeDuModele == TypeFichier_e.cAssemblage)) { if (pModeleEdite.Init(pModeleActif.Assemblage.SwAssemblage.GetEditTarget(), this)) { eComposant pComposant = new eComposant(); if (pComposant.Init(pModeleActif.Assemblage.SwAssemblage.GetEditTargetComponent(), pModeleEdite)) { pModeleEdite.Composant = pComposant; return pModeleEdite; } } } return pModeleActif; }
/// <summary> /// Creer un document /// </summary> /// <param name="Dossier"></param> /// <param name="NomDuDocument"></param> /// <param name="TypeDeDocument"></param> /// <param name="Gabarit"></param> /// <returns></returns> public eModele CreerDocument(String Dossier, String NomDuDocument, TypeFichier_e TypeDeDocument, String Gabarit = "") { eModele pModele = new eModele(); ModelDoc2 pSwModele; String pCheminGabarit = ""; if (String.IsNullOrEmpty(Gabarit)) { switch (TypeDeDocument) { case TypeFichier_e.cAssemblage: pCheminGabarit = _SwSW.GetUserPreferenceStringValue((int)swUserPreferenceStringValue_e.swDefaultTemplateAssembly); break; case TypeFichier_e.cPiece: pCheminGabarit = _SwSW.GetUserPreferenceStringValue((int)swUserPreferenceStringValue_e.swDefaultTemplatePart); break; case TypeFichier_e.cDessin: pCheminGabarit = _SwSW.GetUserPreferenceStringValue((int)swUserPreferenceStringValue_e.swDefaultTemplateDrawing); break; } } else { String[] pTabCheminsGabarit = _SwSW.GetUserPreferenceStringValue((int)swUserPreferenceStringValue_e.swFileLocationsDocumentTemplates).Split(';'); foreach (String Chemin in pTabCheminsGabarit) { pCheminGabarit = Chemin + @"\" + Gabarit + CONSTANTES.InfoFichier(TypeDeDocument, InfoFichier_e.cGabarit); if (File.Exists(pCheminGabarit)) break; } } int Format = 0; Double Lg = 0; Double Ht = 0; if (TypeDeDocument == TypeFichier_e.cDessin) { Double[] pTab = _SwSW.GetTemplateSizes(pCheminGabarit); Format = (int)pTab[0]; Lg = pTab[1]; Ht = pTab[2]; } Log.Message(Format.ToString()); Log.Message(Lg.ToString()); Log.Message(Ht.ToString()); pSwModele = _SwSW.NewDocument(pCheminGabarit, Format, Lg, Ht); pSwModele.Extension.SaveAs(Dossier + @"\" + NomDuDocument + CONSTANTES.InfoFichier(TypeDeDocument), (int)swSaveAsVersion_e.swSaveAsCurrentVersion, (int)swSaveAsOptions_e.swSaveAsOptions_Silent, null, ref Erreur, ref Warning); if (pModele.Init(pSwModele, this)) return pModele; return null; }