Exemple #1
0
        protected override void Command()
        {
            try
            {
                DrawingDoc Dessin = MdlBase.eDrawingDoc();


                String PropDesignation = App.Sw.GetUserPreferenceStringValue((int)swUserPreferenceStringValue_e.swCustomPropertyUsedAsComponentDescription);

                int i = 1;
                foreach (Sheet feuille in Dessin.eListeDesFeuilles())
                {
                    var ListeVues = feuille.eListeDesVues();

                    foreach (var v in ListeVues)
                    {
                        if (v.ReferencedConfiguration != "")
                        {
                            feuille.SetName((i++).ToString());
                            break;
                        }
                    }
                }

                List <String> ListeNomFeuille = new List <string>();
                Dictionary <String, List <Sheet> > DicFeuilles = new Dictionary <string, List <Sheet> >();

                foreach (Sheet feuille in Dessin.eListeDesFeuilles())
                {
                    var ListeVues = feuille.eListeDesVues();
                    if (ListeVues.Count == 0)
                    {
                        continue;
                    }

                    View v = ListeVues[0];
                    if (v.IsNull())
                    {
                        continue;
                    }

                    ModelDoc2 mdlVue = v.ReferencedDocument;
                    if (mdlVue.IsNull())
                    {
                        continue;
                    }

                    String Designation = "";

                    if (mdlVue.ePropExiste(PropDesignation))
                    {
                        Designation = mdlVue.eGetProp(PropDesignation);
                    }

                    String NomFeuille = (mdlVue.eNomSansExt() + "-" + v.ReferencedConfiguration + " " + Designation).Trim();

                    String NomTemp = NomFeuille;

                    if (DicFeuilles.ContainsKey(NomTemp))
                    {
                        var l = DicFeuilles[NomTemp];
                        l.Add(feuille);
                    }
                    else
                    {
                        var l = new List <Sheet>()
                        {
                            feuille
                        };
                        DicFeuilles.Add(NomTemp, l);
                    }
                }

                foreach (String NomFeuille in DicFeuilles.Keys)
                {
                    var l = DicFeuilles[NomFeuille];
                    if (l.Count > 1)
                    {
                        int j = 1;
                        foreach (var feuille in DicFeuilles[NomFeuille])
                        {
                            var n = NomFeuille + "(" + j++ + ")";
                            feuille.SetName(n);
                            WindowLog.Ecrire(n);
                        }
                    }
                    else
                    {
                        l[0].SetName(NomFeuille);
                        WindowLog.Ecrire(NomFeuille);
                    }
                }

                App.ModelDoc2.ForceRebuild3(false);
            }
            catch (Exception e)
            {
                this.LogErreur(new Object[] { e });
            }
        }