Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #10
0
        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 });
            }
        }
Example #11
0
        protected void AfficherTitre(String titreModule)
        {
            if (!LogToWindowLog)
            {
                return;
            }

            WindowLog.Ecrire("    " + titreModule.ToUpper());
            WindowLog.Ecrire("=".eRepeter(25));
            WindowLog.SautDeLigne();
        }
Example #12
0
        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;
                }
            }
        }
Example #13
0
        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 });
            }
        }
Example #14
0
            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 });
                }
            }
Example #15
0
            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);
        }
Example #17
0
        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 }); }
        }
Example #18
0
        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();
        }
Example #19
0
        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 }); }
        }
Example #20
0
        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 });
            }
        }
Example #21
0
        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 });
            }
        }
Example #22
0
        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 });
            }
        }
Example #25
0
        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 }); }
        }
Example #27
0
        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é");
        }
Example #29
0
        /// <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 });
            }
        }
Example #30
0
        /// <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); }
        }