private Boolean InclureExclure(Component2 cp) { if (!cp.IsSuppressed() && (eTypeDoc.Assemblage | eTypeDoc.Piece).HasFlag(cp.TypeDoc())) { if (cp.eModelDoc2().ePropExiste(_pPropExclureNomenclature.GetValeur <String>())) { int MdlIntVal = cp.eModelDoc2().eGetProp(_pPropExclureNomenclature.GetValeur <String>()).eToInteger(); switch (MdlIntVal) { case 0: { cp.ExcludeFromBOM = false; break; } case 1: { cp.ExcludeFromBOM = true; WindowLog.Ecrire(cp.Name2 + " : Est exclu"); break; } case 2: { if (cp.ePropExiste(_pPropExclureNomenclature.GetValeur <String>())) { int CfgIntVal = cp.eProp(_pPropExclureNomenclature.GetValeur <String>()).eToInteger(); switch (CfgIntVal) { case 0: { cp.ExcludeFromBOM = false; break; } case 1: { cp.ExcludeFromBOM = true; //WindowLog.Ecrire(cp.Name2); //WindowLog.Ecrire(cp.eNomConfiguration()); WindowLog.EcrireF("{0} \"{1}\" : Est exclu", cp.Name2, cp.eNomConfiguration()); break; } default: break; } } break; } default: break; } } } return(false); }
private void cmdSupprimerLesAnciennesConfigs(ModelDoc2 mdl) { WindowLog.SautDeLigne(); if (mdl.eNomConfigActive().eEstConfigDepliee()) { mdl.ShowConfiguration2(mdl.eListeNomConfiguration()[0]); } mdl.EditRebuild3(); WindowLog.Ecrire(" - Suppression des cfgs depliées :"); var liste = mdl.eListeConfigs(eTypeConfig.Depliee); if (liste.Count == 0) { WindowLog.EcrireF(" Aucune configuration à supprimer"); } foreach (Configuration Cf in liste) { String IsSup = Cf.eSupprimerConfigAvecEtatAff(mdl) ? "Ok" : "Erreur"; WindowLog.EcrireF(" {0} : {1}", Cf.Name, IsSup); } }
protected void Rechercher_Infos() { WindowLog.Ecrire("Recherche des materiaux et epaisseurs "); ListeCorps = MdlBase.pChargerNomenclature(eTypeCorps.Barre); ListeMateriaux = new List <String>(); ListeProfil = new List <String>(); Campagne = 1; foreach (var corps in ListeCorps.Values) { Campagne = Math.Max(Campagne, corps.Campagne.Keys.Max()); ListeMateriaux.AddIfNotExist(corps.Materiau); ListeProfil.AddIfNotExist(corps.Dimension); } WindowLog.SautDeLigne(); ListeMateriaux.Sort(new WindowsStringComparer()); ListeProfil.Sort(new WindowsStringComparer()); _TextBox_Campagne.Text = Campagne.ToString(); _TextListBox_Materiaux.Liste = ListeMateriaux; _TextListBox_Materiaux.ToutSelectionner(false); _TextListBox_Profils.Liste = ListeProfil; _TextListBox_Profils.ToutSelectionner(false); }
protected void Rechercher_Infos() { WindowLog.Ecrire("Recherche des materiaux : "); ListeMateriaux = MdlBase.ListeMateriaux(eTypeCorps.Tole); foreach (var m in ListeMateriaux) { WindowLog.Ecrire(" - " + m); } WindowLog.SautDeLigne(); _TextListBox_Materiaux.Liste = ListeMateriaux; _TextListBox_Materiaux.ToutSelectionner(false); _TextComboBox_ForcerMateriau.Liste = ListeMateriaux; _TextComboBox_ForcerMateriau.SelectedIndex = 0; WindowLog.Ecrire("Recherche des ep de tôle : "); ListeEp = MdlBase.ListeEp(); foreach (var m in ListeEp) { WindowLog.Ecrire(" - ep" + m); } WindowLog.SautDeLigne(); _TextListBox_Ep.Liste = ListeEp; _TextListBox_Ep.ToutSelectionner(false); }
public void Decaler(Face2 face, Double decal, Boolean inverser) { Loop2 bord = null; foreach (Loop2 loop in face.GetLoops()) { if (loop.IsOuter()) { bord = loop; break; } } var listeFace = new List <Face2>(); foreach (Edge e in bord.GetEdges()) { listeFace.Add(e.eAutreFace(face)); } MdlBase.eEffacerSelection(); foreach (var f in listeFace) { f.eSelectEntite(MdlBase, 1, true); } var feat = MdlBase.FeatureManager.InsertMoveFace3((int)swMoveFaceType_e.swMoveFaceTypeOffset, inverser, 0, decal, null, null, 0, 0); WindowLog.Ecrire("Décalage : " + feat.IsRef()); }
protected void RunOkCommand() { if (!ChargerCmd()) { SauverLg(); } if (ListeLgProfil.IsNull()) { return; } WindowLog.Ecrire("Lg max des barres :"); foreach (var materiau in ListeLgProfil.DicLg.Keys) { foreach (var profil in ListeLgProfil.DicLg[materiau].Keys) { String lg = ListeLgProfil.DicLg[materiau][profil].ToString(); WindowLog.EcrireF("{0,10} [{1:10}] {2,10}", profil, materiau, lg); } } Cmd.Executer(); if (File.Exists(Cmd.CheminFichier)) { System.Diagnostics.Process.Start(Cmd.CheminFichier); } }
protected override void Command() { try { var dessin = MdlBase.eDrawingDoc(); var feuille = dessin.eFeuilleActive();; dessin.ActivateSheet(feuille.GetName()); WindowLog.Ecrire(" - " + feuille.GetName()); feuille.eAjusterAutourDesVues(); MdlBase.eZoomEtendu(); //dessin.eParcourirLesFeuilles( // f => // { // dessin.ActivateSheet(f.GetName()); // WindowLog.Ecrire(" - " + f.GetName()); // f.eAjusterAutourDesVues(); // MdlBase.eZoomEtendu(); // return false; // } // ); } catch (Exception e) { this.LogErreur(new Object[] { e }); } }
protected override void Command() { try { View Vue = MdlBase.eSelect_RecupererObjet <View>(1, -1); if (Vue.GetBodiesCount() == 0) { WindowLog.Ecrire("Aucun corps"); return; } Object[] TabCorps = (Object[])Vue.Bodies; DispatchWrapper[] arrBodiesIn = new DispatchWrapper[Vue.GetBodiesCount()]; for (int i = 0; i < TabCorps.Length; i++) { arrBodiesIn[i] = new DispatchWrapper(TabCorps[i]); WindowLog.Ecrire(((Body2)TabCorps[i]).Name); } Vue.Bodies = (arrBodiesIn); WindowLog.Ecrire(Vue.Name); } catch (Exception e) { this.LogErreur(new Object[] { e }); } }
private Boolean CreerConfigs() { Dictionary <String, ModelDoc2> ListeMdl = new Dictionary <String, ModelDoc2>() { { MdlBase.GetPathName(), MdlBase } }; Dictionary <String, String> ListeMdlDisplayState = new Dictionary <string, string>() { { MdlBase.GetPathName(), MdlBase.eComposantRacine().ReferencedDisplayState } }; foreach (Component2 cp in ListeComposants) { ModelDoc2 mdl = cp.GetModelDoc2(); ListeMdl.AddIfNotExist(mdl.GetPathName(), mdl); ListeMdlDisplayState.AddIfNotExist(mdl.GetPathName(), cp.ReferencedDisplayState); foreach (Component2 cpParent in cp.eListeComposantParent()) { ModelDoc2 mdlParent = cpParent.GetModelDoc2(); ListeMdl.AddIfNotExist(mdlParent.GetPathName(), mdlParent); ListeMdlDisplayState.AddIfNotExist(mdlParent.GetPathName(), cpParent.ReferencedDisplayState); } } int Options = (int)swConfigurationOptions2_e.swConfigOption_InheritProperties; if (SupprimerNvlFonction) { Options += (int)swConfigurationOptions2_e.swConfigOption_SuppressByDefault; } if (SupprimerNvComposant) { Options += (int)swConfigurationOptions2_e.swConfigOption_HideByDefault; } if ((ListeConfig.IsRef()) && (ListeConfig.Count > 0) && !String.IsNullOrWhiteSpace(ListeConfig[0])) { foreach (ModelDoc2 mdl in ListeMdl.Values) { WindowLog.Ecrire(mdl.eNomAvecExt()); WindowLog.Ecrire(" - " + String.Join(" ", ListeConfig)); foreach (String nomConfig in ListeConfig) { String NomCurrentDisplayState = ListeMdlDisplayState[mdl.GetPathName()]; mdl.eAddConfiguration(nomConfig, nomConfig, "", Options); } WindowLog.SautDeLigne(); } return(true); } return(false); }
protected override void Command() { try { String NomFichier = String.Format("{0}{1}", String.IsNullOrWhiteSpace(RefFichier) ? "" : RefFichier + "-", IndiceCampagne); switch (TypeSortie) { case eTypeSortie.ListeDebit: { var DicBarre = _listeElement.ListeBarre(); String ResumeBarre = DicBarre.ResumeNbBarre(); String ResumeListeDebit = DicBarre.ResumeListeDebit(); String Complet = RefFichier + "\r\n" + ResumeBarre + "\r\n\r\n" + ResumeListeDebit; WindowLog.Ecrire(ResumeBarre); CheminFichier = Path.Combine(MdlBase.eDossier(), NomFichier + " - Liste de débit.txt"); StreamWriter s = new StreamWriter(CheminFichier); s.Write(Complet); s.Close(); WindowLog.SautDeLigne(2); WindowLog.EcrireF("Nb d'éléments {0}", _listeElement.NbElement); WindowLog.EcrireF("Nb de barres {0}", DicBarre.NbBarre); } break; case eTypeSortie.ListeBarre: { String ResumeListeBarre = _listeElement.ResumeListeBarre(); CheminFichier = Path.Combine(MdlBase.eDossier(), NomFichier + " - Liste des barres.txt"); String Complet = RefFichier + "\r\n" + ResumeListeBarre; WindowLog.Ecrire(ResumeListeBarre); StreamWriter s = new StreamWriter(CheminFichier); s.Write(Complet); s.Close(); WindowLog.SautDeLigne(2); } break; default: break; } } catch (Exception e) { this.LogErreur(new Object[] { e }); } }
protected void AfficherTitre(String titreModule) { if (!LogToWindowLog) { return; } WindowLog.Ecrire(" " + titreModule.ToUpper()); WindowLog.Ecrire("=".eRepeter(25)); WindowLog.SautDeLigne(); }
protected void RunAfterClose() { List <Component2> ListeCompEmpreinte = MdlBase.eSelect_RecupererListeObjets <Component2>(_Select_CompEmpreinte.Marque); Isoler.Exit(MdlBase); if (_CheckBox_MasquerLesEmpreintes.IsChecked == true) { WindowLog.Ecrire("Masque les composants"); foreach (Component2 c in ListeCompEmpreinte) { c.Visible = (int)swComponentVisibilityState_e.swComponentHidden; } } }
protected override void Command() { try { WindowLog.Ecrire("Nettoyer les blocs :"); SupprimerDefBloc(MdlBase); WindowLog.SautDeLigne(); WindowLog.Ecrire("Nettoyage terminé"); } catch (Exception e) { this.LogErreur(new Object[] { e }); } }
protected override void Command() { try { WindowLog.EcrireF("Export : {0}", typeExport.GetEnumInfo <Intitule>().ToUpperInvariant()); WindowLog.SautDeLigne(); WindowLog.EcrireF(" Dossier : {0}", new DirectoryInfo(CheminDossier).Name); WindowLog.EcrireF(" {0}", NomFichier + typeExport.GetEnumInfo <ExtFichier>()); CheminFichierExport = Feuille.eExporterEn(Dessin, typeExport, CheminDossier, NomFichier, ToutesLesFeuilles); } catch (Exception e) { WindowLog.Ecrire("Erreur : Consultez le fichier LOG"); this.LogMethode(new Object[] { e }); } }
protected void Rechercher_Materiaux() { WindowLog.Ecrire("Recherche des materiaux : "); ListeMateriaux = MdlBase.ListeMateriaux(_CheckBox_PrendreEnCompteTole.IsChecked ? eTypeCorps.Tole | eTypeCorps.Barre : eTypeCorps.Barre); foreach (var m in ListeMateriaux) { WindowLog.Ecrire(" - " + m); } WindowLog.SautDeLigne(); _TextListBox_Materiaux.Liste = ListeMateriaux; _TextListBox_Materiaux.ToutSelectionner(false); _TextComboBox_ForcerMateriau.Liste = ListeMateriaux; _TextComboBox_ForcerMateriau.SelectedIndex = 0; }
private Boolean Maj(Component2 Cp) { if (!Cp.IsHidden(true) && !_Dic.ContainsKey(Cp.eKeyAvecConfig()) && Cp.eEstDansLeDossier(MdlBase) && (Cp.TypeDoc() == eTypeDoc.Piece)) { _Dic.Add(Cp.eKeyAvecConfig(), ""); WindowLog.Ecrire(Cp.eNomAvecExt()); try { PartDoc piece = Cp.ePartDoc(); piece.eInsererListeDesPiecesSoudees(); piece.eMajListeDesPiecesSoudees(); } catch (Exception e) { this.LogMethode(new Object[] { e }); } } return(false); }
private void AjouterInfos(ModelDoc2 Mdl) { try { if (!_ListeComp.Contains(Mdl.GetPathName()) && (ComposantsExterne || Mdl.eEstDansLeDossier(MdlBase))) { _ListeComp.Add(Mdl.GetPathName()); WindowLog.Ecrire(Mdl.eNomAvecExt()); CustomPropertyManager PM = Mdl.Extension.get_CustomPropertyManager(""); foreach (String k in _Dic.Keys) { PM.Add3(k, (int)swCustomInfoType_e.swCustomInfoText, _Dic[k], (int)swCustomPropertyAddOption_e.swCustomPropertyDeleteAndAdd); } } } catch (Exception e) { this.LogMethode(new Object[] { e }); } }
private void LireInfos() { foreach (String v in ListeValeurs) { WindowLog.Ecrire(v); String[] l = v.Split(new Char[] { ':' }, 2, StringSplitOptions.None); var cle = l[0].Trim(); var val = l[1].Trim(); if (_Dic.ContainsKey(cle)) { _Dic[cle] = val; } else { _Dic.Add(cle, val); } } WindowLog.SautDeLigne(); }
protected void Rechercher_Infos() { try { WindowLog.Ecrire("Recherche des materiaux et profils "); ListeCorps = MdlBase.pChargerNomenclature(eTypeCorps.Barre); ListeMateriaux = new List <String>(); ListeProfil = new List <String>(); Campagne = 1; foreach (var corps in ListeCorps.Values) { Campagne = Math.Max(Campagne, corps.Campagne.Keys.Max()); ListeMateriaux.AddIfNotExist(corps.Materiau); ListeProfil.AddIfNotExist(corps.Dimension); } WindowLog.SautDeLigne(); ListeMateriaux.Sort(new WindowsStringComparer()); ListeProfil.Sort(new WindowsStringComparer()); _TextBox_Campagne.Text = Campagne.ToString(); _TextListBox_Materiaux.Liste = ListeMateriaux; _TextListBox_Materiaux.ToutSelectionner(false); _TextListBox_Profils.Liste = ListeProfil; _TextListBox_Profils.ToutSelectionner(false); if (!File.Exists(Path.Combine(MdlBase.pDossierLaserTube(), Campagne.ToString(), CONST_PRODUCTION.FICHIER_NOMENC))) { _CheckBox_MettreAjourCampagne.IsEnabled = false; _CheckBox_MettreAjourCampagne.Visible = false; } } catch (Exception e) { this.LogMethode(new Object[] { e }); } }
private void Start() { try { NettoyerFichier(); foreach (var corps in ListeCorps.Values) { CreerVue(corps); } foreach (DrawingDoc dessin in DicDessins.Values) { dessin.eModelDoc2().eActiver(); dessin.eFeuilleActive().eAjusterAutourDesVues(); dessin.eModelDoc2().ViewZoomtofit2(); dessin.eModelDoc2().eSauver(); } WindowLog.SautDeLigne(); WindowLog.Ecrire("Resumé :"); foreach (var corps in ListeCorps.Values) { if (corps.Dvp && corps.Maj) { WindowLog.EcrireF("{2} P{0} ×{1}", corps.Repere, corps.Qte, IndiceCampagne); if ((corps.DiffPliage > 0) || ((corps.NbPli > 0) && (corps.DiffPliage == 0))) { WindowLog.EcrireF(" - Controle : {0}% [{1}] / Nb pli : {2}", corps.DiffPliagePct, corps.DiffPliage, corps.NbPli); } } } ListeCorps.EcrireProduction(DossierDVP, IndiceCampagne); } catch (Exception e) { this.LogErreur(new Object[] { e }); } }
protected override void Command() { try { var ListeCorpsExistant = MdlBase.pChargerNomenclature(); if (ListeCorpsExistant.Count > 0) { var IndiceCampagne = ListeCorpsExistant.First().Value.Campagne.Keys.Max(); var aff = new AffichageElementWPF(ListeCorpsExistant, IndiceCampagne); aff.ShowDialog(); } else { WindowLog.Ecrire("Aucun repérage"); } } catch (Exception e) { this.LogErreur(new Object[] { e }); } }
protected override void Command() { try { var ListeVue = MdlBase.eSelect_RecupererListeObjets <View>(); if (ListeVue.IsNull() || (ListeVue.Count == 0)) { ListeVue = MdlBase.eDrawingDoc().eFeuilleActive().eListeDesVues(); } if (ListeVue.IsNull() || (ListeVue.Count == 0)) { return; } MdlBase.eEffacerSelection(); foreach (var vue in ListeVue) { if (vue.IsNull()) { continue; } if (!vue.IsFlatPatternView()) { continue; } WindowLog.Ecrire(vue.Name); vue.FlipView = !vue.FlipView; } } catch (Exception e) { this.LogErreur(new Object[] { e }); } }
private Boolean SupprimerConfigs(Component2 Cp) { try { if ((Cp.TypeDoc() == eTypeDoc.Piece) && !Cp.IsHidden(true) && !_Dic.ContainsKey(Cp.eKeySansConfig()) && Cp.eEstDansLeDossier(MdlBase)) { _Dic.Add(Cp.eKeySansConfig(), ""); WindowLog.Ecrire(Cp.eNomAvecExt()); foreach (Configuration Cf in Cp.eModelDoc2().eListeConfigs(eTypeConfig.Depliee)) { String IsSup = Cf.eSupprimerConfigAvecEtatAff(Cp.eModelDoc2()) ? "Ok" : "Erreur"; WindowLog.EcrireF(" {0} : {1}", Cf.Name, IsSup); } } } catch (Exception e) { this.LogErreur(new Object[] { e }); } return(false); }
protected override void Command() { try { DrawingDoc dessin = MdlBase.eDrawingDoc(); String FeuilleCourante = dessin.eFeuilleActive().GetName(); Boolean HauteQualite = true; WindowLog.Ecrire("Haute qualité : " + (HauteQualite ? "oui" : "non")); WindowLog.SautDeLigne(); MdlBase.Extension.UsePageSetup = (int)swPageSetupInUse_e.swPageSetupInUse_DrawingSheet; App.Sw.RunCommand((int)swCommands_e.swCommands_Page_Setup, ""); dessin.eParcourirLesFeuilles( f => { //dessin.ActivateSheet(f.GetName()); WindowLog.Ecrire(" - " + f.GetName()); String res = dessin.eMettreEnPagePourImpression(f, swPageSetupDrawingColor_e.swPageSetup_AutomaticDrawingColor, HauteQualite); WindowLog.Ecrire(" " + res); WindowLog.SautDeLigne(); return(false); } ); //dessin.ActivateSheet(FeuilleCourante); } catch (Exception e) { this.LogErreur(new Object[] { e }); } }
private int Souris_MouseLBtnDownNotify(int X, int Y, int WParam) { try { var typeSel = MdlBase.eSelect_RecupererSwTypeObjet(); var typeCorps = eTypeCorps.Autre; Body2 CorpsBase = null; String MateriauCorpsBase = ""; if (typeSel == swSelectType_e.swSelFACES) { var f = MdlBase.eSelect_RecupererObjet <Face2>(); CorpsBase = (Body2)f.GetBody(); MateriauCorpsBase = GetMateriauCorpsBase(CorpsBase, MdlBase.eSelect_RecupererComposant()); typeCorps = CorpsBase.eTypeDeCorps(); } if ((typeCorps == eTypeCorps.Barre) || (typeCorps == eTypeCorps.Tole)) { int Repere = 0; String texteNote = String.Format("$PRPWLD:\"{0}\"", CONSTANTES.REF_DOSSIER); Note Note = MdlBase.InsertNote(String.Format("$PRPWLD:\"{0}\"", CONSTANTES.REF_DOSSIER)); Annotation Annotation = Note.GetAnnotation(); Note.SetTextJustification((int)swTextJustification_e.swTextJustificationCenter); Annotation.SetLeader3((int)swLeaderStyle_e.swNO_LEADER, (int)swLeaderSide_e.swLS_SMART, true, true, false, false); Repere = Note.GetText().Replace(CONSTANTES.PREFIXE_REF_DOSSIER, "").eToInteger(); if (ListeCorps.ContainsKey(Repere)) { var corps = ListeCorps[Repere]; Note.PropertyLinkedText = String.Format("$PRPWLD:\"{0}\" (x{1})", CONSTANTES.REF_DOSSIER, corps.Campagne.Last().Value); ListeAnnotations.Add(Annotation); WindowLog.Ecrire(Repere); } else { MdlBase.eEffacerSelection(); Annotation.Select3(false, null); MdlBase.Extension.DeleteSelection2((int)swDeleteSelectionOptions_e.swDelete_Absorbed); } MdlBase.eEffacerSelection(); if (_CheckBox_SelectionnerCorpsIdentiques.IsChecked) { var ListeCorpsIdentiques = new List <Body2>(); foreach (var corps in ListeSwCorps) { if (MateriauCorpsBase != corps.Materiau) { continue; } if (corps.Swcorps.eComparerGeometrie(CorpsBase) == Sw.Comparaison_e.Semblable) { ListeCorpsIdentiques.Add(corps.GetCorps()); } } foreach (var corps in ListeCorpsIdentiques) { corps.DisableHighlight = false; } } } } catch (Exception e) { this.LogMethode(new Object[] { e }); } return(1); }
protected void RechercherIndiceCampagne() { try { WindowLog.Ecrire("Recherche des éléments existants :"); // Recherche du dernier indice de la campagne de repérage // Création du dossier pièces s'il n'existe pas MdlBase.pCreerDossier(CONST_PRODUCTION.DOSSIER_PIECES); // Recherche de la nomenclature MdlBase.pCreerFichierTexte(CONST_PRODUCTION.DOSSIER_PIECES, CONST_PRODUCTION.FICHIER_NOMENC); // Recherche des exports laser, tole ou tube, existant var IndiceLaser = Math.Max(MdlBase.pRechercherIndiceDossier(CONST_PRODUCTION.DOSSIER_LASERTOLE), MdlBase.pRechercherIndiceDossier(CONST_PRODUCTION.DOSSIER_LASERTUBE) ); IndiceCampagne = IndiceLaser + 1; // Aquisition de la liste des corps déjà repérées ListeCorps = MdlBase.pChargerNomenclature(); _Texte_IndiceCampagneDepartDecompte.Text = ListeCorps.CampagneDepartDecompte.ToString(); WindowLog.EcrireF("{0} pièce(s) sont référencé(s)", ListeCorps.Count); // S'il n'y a aucun corps, on désactive les options if (ListeCorps.Count == 0) { _CheckBox_MajCampagnePrecedente.IsEnabled = false; _CheckBox_MajCampagnePrecedente.Visible = false; _CheckBox_ReinitCampagneActuelle.IsEnabled = false; _CheckBox_ReinitCampagneActuelle.Visible = false; } // Si aucun corps n'a déjà été comptabilisé pour cette campagne, // on ne propose pas la réinitialisation foreach (var corps in ListeCorps.Values) { if (corps.Campagne.Keys.Max() >= IndiceCampagne) { ReinitCampagneActuelle = true; break; } } if (!ReinitCampagneActuelle) { _CheckBox_ReinitCampagneActuelle.IsEnabled = false; _CheckBox_ReinitCampagneActuelle.Visible = false; } // Si c'est la première campagne, on désactive des options if (IndiceCampagne == 1) { _CheckBox_CampagneDepartDecompte.IsEnabled = false; _CheckBox_CampagneDepartDecompte.Visible = false; _Texte_IndiceCampagneDepartDecompte.IsEnabled = false; _Texte_IndiceCampagneDepartDecompte.Visible = false; _CheckBox_MajCampagnePrecedente.IsEnabled = false; _CheckBox_MajCampagnePrecedente.Visible = false; _CheckBox_CombinerAvecCampagnePrecedente.IsEnabled = false; _CheckBox_CombinerAvecCampagnePrecedente.Visible = false; } } catch (Exception e) { this.LogErreur(new Object[] { e }); } }
protected override void Command() { try { var ListeComposants = MdlBase.ListerComposants(false); eTypeCorps Filtre = eTypeCorps.Barre | eTypeCorps.Tole; var Dic = new HashSet <String>(); Boolean Erreur = false; Predicate <Feature> Test = f => { BodyFolder dossier = f.GetSpecificFeature2(); if (dossier.IsRef() && dossier.eNbCorps() > 0 && Filtre.HasFlag(dossier.eTypeDeDossier())) { var RefDossier = dossier.eProp(CONSTANTES.REF_DOSSIER); if (String.IsNullOrWhiteSpace(RefDossier)) { return(true); } } return(false); }; foreach (var mdl in ListeComposants.Keys) { mdl.eActiver(swRebuildOnActivation_e.swRebuildActiveDoc); foreach (var t in ListeComposants[mdl]) { var cfg = t.Key; var nbCfg = t.Value; mdl.ShowConfiguration2(cfg); mdl.EditRebuild3(); var Piece = mdl.ePartDoc(); foreach (var fDossier in Piece.eListeDesFonctionsDePiecesSoudees(Test)) { WindowLog.EcrireF("{0} \"{1}\"", mdl.eNomSansExt(), cfg); WindowLog.EcrireF(" {0} : Pas de reference", fDossier.Name); Erreur = true; } } mdl.eFermerSiDifferent(MdlBase); } if (!Erreur) { WindowLog.Ecrire("Aucune erreur\n"); } } catch (Exception e) { this.LogErreur(new Object[] { e }); } }
private void Nettoyer() { WindowLog.Ecrire("Nettoyer les modeles :"); List <ModelDoc2> ListeMdl = new List <ModelDoc2>(MdlBase.pListerComposants().Keys); foreach (var mdl in ListeMdl) { if (mdl.TypeDoc() != eTypeDoc.Piece) { continue; } mdl.eActiverManager(false); foreach (Configuration Cf in mdl.eListeConfigs(eTypeConfig.Depliee)) { Cf.eSupprimerConfigAvecEtatAff(mdl); } mdl.eActiver(swRebuildOnActivation_e.swRebuildActiveDoc); { mdl.ePropSuppr(CONST_PRODUCTION.ID_PIECE); mdl.ePropSuppr(CONST_PRODUCTION.PIECE_ID_DOSSIERS); mdl.ePropSuppr(CONST_PRODUCTION.MAX_INDEXDIM); // On supprime la definition du bloc SupprimerDefBloc(mdl, CheminBlocEsquisseNumeroter()); } foreach (var cfg in mdl.eListeNomConfiguration()) { mdl.ShowConfiguration2(cfg); mdl.EditRebuild3(); var Piece = mdl.ePartDoc(); mdl.ePropSuppr(CONST_PRODUCTION.ID_CONFIG, cfg); mdl.ePropSuppr(CONST_PRODUCTION.CONFIG_ID_DOSSIERS, cfg); foreach (var f in Piece.eListeDesFonctionsDePiecesSoudees()) { CustomPropertyManager PM = f.CustomPropertyManager; PM.Delete2(CONSTANTES.REF_DOSSIER); PM.Delete2(CONSTANTES.DESC_DOSSIER); PM.Delete2(CONSTANTES.NOM_DOSSIER); String ValParDefaut = mdl.Extension.GetUserPreferenceString((int)swUserPreferenceStringValue_e.swSheetMetalDescription, (int)swUserPreferenceOption_e.swDetailingNoOptionSpecified); PM.ePropAdd(CONSTANTES.DESC_DOSSIER, ValParDefaut); } } mdl.eActiverManager(true); mdl.eFermerSiDifferent(MdlBase); } int errors = 0; int warnings = 0; MdlBase.Save3((int)swSaveAsOptions_e.swSaveAsOptions_Silent + (int)swSaveAsOptions_e.swSaveAsOptions_SaveReferenced, ref errors, ref warnings); WindowLog.Ecrire("- Nettoyage terminé"); }
/// <summary> /// Liste les corps avec Composant.eListeDesDossiersDePiecesSoudees().eListeDesCorps() /// Permet de regrouper /// </summary> protected override void Command() { try { Dictionary <String, Piece> _DicPiece = new Dictionary <String, Piece>(); int NbTotalComposant = 0; // Si c'est une piece, on ajoute le composant racine if (MdlBase.TypeDoc() == eTypeDoc.Piece) { _DicPiece.Add(MdlBase.eComposantRacine().eKeyAvecConfig(), new Piece(MdlBase.eComposantRacine())); NbTotalComposant = 1; } // Si c'est un assemblage, on liste les composants if (MdlBase.TypeDoc() == eTypeDoc.Assemblage) { MdlBase.eRecListeComposant( c => { if (!c.IsHidden(false) && (c.TypeDoc() == eTypeDoc.Piece)) { if (_DicPiece.ContainsKey(c.eKeyAvecConfig())) { _DicPiece[c.eKeyAvecConfig()].Nb += 1; return(true); } _DicPiece.Add(c.eKeyAvecConfig(), new Piece(c)); NbTotalComposant++; return(true); } return(false); }, null, true); } WindowLog.Ecrire("Nb de composants : " + NbTotalComposant); WindowLog.SautDeLigne(); List <Piece> ListePiece = _DicPiece.Values.ToList <Piece>(); // On trie ListePiece.Sort((c1, c2) => { WindowsStringComparer sc = new WindowsStringComparer(); return(sc.Compare(c1.Composant.eKeyAvecConfig(), c2.Composant.eKeyAvecConfig())); }); Ensemble Ensemble = new Ensemble(); foreach (Piece piece in ListePiece) { WindowLog.Ecrire(piece.Nb + " × " + piece.Composant.eNomSansExt() + " Config \"" + piece.Composant.eNomConfiguration() + "\""); WindowLog.Ecrire(" -> Mat : " + piece.Info.Materiau + " / Base : " + piece.Info.Base); var ListeDossier = piece.Composant.eListeDesDossiersDePiecesSoudees(); if (piece.Composant.IsRoot()) { ListeDossier = piece.Composant.ePartDoc().eListeDesDossiersDePiecesSoudees(); } foreach (var dossier in ListeDossier) { if (dossier.eNbCorps() == 0) { continue; } var listeCorps = dossier.eListeDesCorps(); if (listeCorps.IsNull()) { continue; } Body2 corps = listeCorps[0]; Info InfoCorps = piece.AjouterCorps(corps, dossier.eNbCorps()); String herite = InfoCorps.Herite ? " (herité) " : ""; String nomCorps = corps.Name; if (!dossier.eNom().eIsLike(CONSTANTES.ARTICLE_LISTE_DES_PIECES_SOUDEES, false)) { nomCorps = dossier.eNom(); } String Ligne = String.Format(" -- ×{5} {0} -> {1} : {2:0.0} kg / Base : {3}{4}", nomCorps, InfoCorps.Materiau, InfoCorps.Masse, InfoCorps.Base, herite, dossier.eNbCorps() ); WindowLog.Ecrire(Ligne); } Ensemble.AjouterPiece(piece); if (piece.Masse > 0.01) { List <String> TextePiece = new List <String>(); foreach (String classe in piece.ListeClasse.Keys) { Double Masse = 0; foreach (Info i in piece.ListeClasse[classe].Values) { Masse += i.Masse; TextePiece.Add(String.Format(" -- {0} : {1:0.0} kg", i.Materiau, i.Masse)); } TextePiece.Insert(0, String.Format(" {0} : {1:0.0} kg", classe, Masse)); } TextePiece.Insert(0, String.Format("Poids de la piece : {0:0.0} kg", piece.Masse)); WindowLog.Ecrire(TextePiece); } WindowLog.SautDeLigne(); } WindowLog.SautDeLigne(); WindowLog.Ecrire("Resultat :"); WindowLog.Ecrire("----------------"); List <String> TexteEnsemble = new List <String>(); foreach (String classe in Ensemble.ListeClasse.Keys) { Double Masse = 0; List <String> Texte = new List <String>(); foreach (Info i in Ensemble.ListeClasse[classe].Values) { Masse += i.Masse; Texte.Add(String.Format(" -- {0} : {1:0.0} kg", i.Materiau, i.Masse)); } if (Masse > 0.01) { TexteEnsemble.Add(String.Format(" {0} : {1:0.0} kg", classe, Masse)); TexteEnsemble.AddRange(Texte); } } TexteEnsemble.Insert(0, String.Format("Poids de l'ensemble : {0:0.0} kg", Ensemble.Masse)); WindowLog.Ecrire(TexteEnsemble); WindowLog.SautDeLigne(); } catch (Exception e) { this.LogErreur(new Object[] { e }); } }
/// <summary> /// Liste les corps avec Composant.eListeDesCorps() /// </summary> protected void OldCommand() { try { Dictionary <String, Piece> _DicPiece = new Dictionary <String, Piece>(); int NbTotalComposant = 0; // Si c'est une piece, on ajoute le composant racine if (MdlBase.TypeDoc() == eTypeDoc.Piece) { _DicPiece.Add(MdlBase.eComposantRacine().eKeyAvecConfig(), new Piece(MdlBase.eComposantRacine())); NbTotalComposant = 1; } // Si c'est un assemblage, on liste les composants if (MdlBase.TypeDoc() == eTypeDoc.Assemblage) { MdlBase.eRecListeComposant( c => { if (!c.IsHidden(false) && (c.TypeDoc() == eTypeDoc.Piece)) { if (_DicPiece.ContainsKey(c.eKeyAvecConfig())) { _DicPiece[c.eKeyAvecConfig()].Nb += 1; return(true); } _DicPiece.Add(c.eKeyAvecConfig(), new Piece(c)); NbTotalComposant++; return(true); } return(false); }, null, true); } WindowLog.Ecrire("Nb de composants : " + NbTotalComposant); WindowLog.SautDeLigne(); List <Piece> ListePiece = _DicPiece.Values.ToList <Piece>(); // On trie ListePiece.Sort((c1, c2) => { WindowsStringComparer sc = new WindowsStringComparer(); return(sc.Compare(c1.Composant.eKeyAvecConfig(), c2.Composant.eKeyAvecConfig())); }); Ensemble Ensemble = new Ensemble(); foreach (Piece piece in ListePiece) { WindowLog.Ecrire(piece.Nb + " × " + piece.Composant.eNomAvecExt() + " Config \"" + piece.Composant.eNomConfiguration() + "\""); WindowLog.Ecrire(" -> Mat : " + piece.Info.Materiau + " / Base : " + piece.Info.Base); foreach (Body2 corps in piece.Composant.eListeCorps()) { Info InfoCorps = piece.AjouterCorps(corps); String herite = InfoCorps.Herite ? " (herité) " : ""; String Ligne = String.Format(" -- {0} -> {1} : {2:0.0} kg / Base : {3}{4}", corps.Name, InfoCorps.Materiau, InfoCorps.Masse, InfoCorps.Base, herite ); WindowLog.Ecrire(Ligne); } Ensemble.AjouterPiece(piece); if (piece.Masse > 0.01) { List <String> TextePiece = new List <String>(); foreach (String classe in piece.ListeClasse.Keys) { Double Masse = 0; foreach (Info i in piece.ListeClasse[classe].Values) { Masse += i.Masse; TextePiece.Add(String.Format(" -- {0} : {1:0.0} kg", i.Materiau, i.Masse)); } TextePiece.Insert(0, String.Format(" {0} : {1:0.0} kg", classe, Masse)); } TextePiece.Insert(0, String.Format("Poids de la piece : {0:0.0} kg", piece.Masse)); WindowLog.Ecrire(TextePiece); WindowLog.SautDeLigne(); } } WindowLog.SautDeLigne(); WindowLog.Ecrire("Resultat :"); WindowLog.Ecrire("----------------"); List <String> TexteEnsemble = new List <String>(); foreach (String classe in Ensemble.ListeClasse.Keys) { Double Masse = 0; List <String> Texte = new List <String>(); foreach (Info i in Ensemble.ListeClasse[classe].Values) { Masse += i.Masse; Texte.Add(String.Format(" -- {0} : {1:0.0} kg", i.Materiau, i.Masse)); } if (Masse > 0.01) { TexteEnsemble.Add(String.Format(" {0} : {1:0.0} kg", classe, Masse)); TexteEnsemble.AddRange(Texte); } } TexteEnsemble.Insert(0, String.Format("Poids de l'ensemble : {0:0.0} kg", Ensemble.Masse)); WindowLog.Ecrire(TexteEnsemble); WindowLog.SautDeLigne(); } catch (Exception e) { Log.Message(e); } }