예제 #1
0
        private DrawingDoc CreerPlan(String materiau, Double epaisseur, Boolean mettreAJourExistant)
        {
            String Fichier = NomFichierPlan(materiau, epaisseur);

            if (DicDessins.ContainsKey(Fichier))
            {
                return(DicDessins[Fichier]);
            }

            DrawingDoc Dessin = null;
            ModelDoc2  Mdl    = null;

            if (mettreAJourExistant)
            {
                Mdl = Sw.eOuvrir(Path.Combine(DossierDVP, Fichier), eTypeDoc.Dessin);
            }

            if (Mdl.IsNull())
            {
                Dessin = Sw.eCreerDocument(DossierDVP, Fichier, eTypeDoc.Dessin, CONSTANTES.MODELE_DE_DESSIN_LASER).eDrawingDoc();
            }
            else
            {
                Dessin = Mdl.eDrawingDoc();
                return(Dessin);
            }

            Dessin.eFeuilleActive().SetName(Fichier);
            DicDessins.Add(Fichier, Dessin);

            Dessin.eModelDoc2().pAppliquerOptionsDessinLaser(AfficherNotePliage, TailleInscription);

            return(Dessin);
        }
        private void Ouvrir_Modele_Click(object sender, RoutedEventArgs e)
        {
            var Mi    = sender as MenuItem;
            var V     = (Mi.Parent as ContextMenu).PlacementTarget as ListView;
            var corps = (Corps)V.SelectedItem;

            if (corps.IsRef())
            {
                Sw.eOuvrir(corps.CheminFichierRepere);
            }

            this.Topmost = true;
        }
예제 #3
0
        private void CreerVue(Corps corps)
        {
            if (!corps.Dvp || !corps.Maj)
            {
                return;
            }

            var    QuantiteDiff = Quantite * (corps.Qte + corps.QteSup);
            Double Epaisseur    = corps.Dimension.eToDouble();

            var cheminFichier = corps.CheminFichierRepere;

            if (!File.Exists(cheminFichier))
            {
                return;
            }

            var mdlCorps = Sw.eOuvrir(cheminFichier);

            if (mdlCorps.IsNull())
            {
                return;
            }

            var piece = mdlCorps.ePartDoc();

            var listeCfgPliee  = mdlCorps.eListeNomConfiguration(eTypeConfig.Pliee);
            var NomConfigPliee = listeCfgPliee[0];

            if (mdlCorps.eNomConfigActive() != NomConfigPliee)
            {
                mdlCorps.ShowConfiguration2(NomConfigPliee);
            }

            WindowLog.EcrireF("{0}  x{1}", corps.RepereComplet, QuantiteDiff);
            piece.ePremierCorps(false).eVisible(true);

            Double Volume1 = piece.ePremierCorps().eVolume();

            piece.ePremierCorps(false).eVisible(true);

            corps.NbPli = piece.pNbPli();
            var listeCfgDepliee = mdlCorps.eListeNomConfiguration(eTypeConfig.Depliee);

            if (listeCfgDepliee.Count == 0)
            {
                return;
            }

            var NomConfigDepliee = listeCfgDepliee[0];

            if (!mdlCorps.ShowConfiguration2(NomConfigDepliee))
            {
                WindowLog.EcrireF("  - Pas de configuration dvp");
                return;
            }

            corps.CalculerDiffPliage(Volume1, piece.ePremierCorps().eVolume());

            mdlCorps.ePartDoc().ePremierCorps(false).eVisible(true);
            mdlCorps.EditRebuild3();
            mdlCorps.ePartDoc().ePremierCorps(false).eVisible(true);

            DrawingDoc dessin = CreerPlan(corps.Materiau, Epaisseur, MettreAjourCampagne);

            dessin.eModelDoc2().eActiver();
            Sheet Feuille = dessin.eFeuilleActive();

            try
            {
                if (MettreAjourCampagne)
                {
                    foreach (var vue in Feuille.eListeDesVues())
                    {
                        var mdlVue = vue.ReferencedDocument;
                        if (mdlCorps.GetPathName() == mdlVue.GetPathName())
                        {
                            vue.eSelectionner(dessin);
                            dessin.eModelDoc2().EditDelete();
                            dessin.eModelDoc2().eEffacerSelection();
                            break;
                        }
                    }
                }

                View v = CreerVueToleDvp(dessin, Feuille, piece, NomConfigDepliee, corps.RepereComplet, corps.Materiau, QuantiteDiff, Epaisseur);
            }
            catch (Exception e)
            {
                WindowLog.Ecrire("  - Erreur");
                this.LogMethode(new Object[] { e });
            }
            finally
            {
                WindowLog.Ecrire("  - Ok");
            }

            mdlCorps.ShowConfiguration2(NomConfigPliee);

            mdlCorps.eFermer();
        }
예제 #4
0
        private String CreerBarre(Corps corps)
        {
            string CheminFichierExportBarre = "";

            if (!corps.Dvp)
            {
                return(CheminFichierExportBarre);
            }

            var QuantiteDiff = Quantite * (corps.Qte + corps.QteSup);

            var cheminFichier = corps.CheminFichierRepere;

            if (!File.Exists(cheminFichier))
            {
                return(CheminFichierExportBarre);
            }

            String Repere          = corps.RepereComplet;
            String Profil          = corps.Dimension;
            String Longueur        = corps.Volume;
            String Materiau        = corps.Materiau;
            String NomFichierBarre = ConstruireNomFichierBarre(Repere, IndiceCampagne, QuantiteDiff);

            var mdlCorps = Sw.eOuvrir(cheminFichier);

            if (mdlCorps.IsNull())
            {
                return(CheminFichierExportBarre);
            }

            var Piece = mdlCorps.ePartDoc();

            corps.SwCorps = Piece.ePremierCorps();
            Body2 Barre = corps.SwCorps;

            if (corps.Maj)
            {
                WindowLog.EcrireF("{0}  x{1}", corps.RepereComplet, QuantiteDiff);
            }

            mdlCorps.EditRebuild3();

            try
            {
                List <String> Liste = new List <String>()
                {
                    Repere, Materiau, Profil, Math.Round(Longueur.eToDouble()).ToString(), "× " + QuantiteDiff.ToString()
                };

                if (ListerUsinages)
                {
                    var analyse = new AnalyseBarre(Barre, mdlCorps);

                    Dictionary <String, Double> Dic = new Dictionary <string, double>();

                    foreach (var u in analyse.ListeFaceUsinageSection)
                    {
                        String nom = u.ListeFaceDecoupe.Count + " face - Lg " + Math.Round(u.LgUsinage * 1000, 1);
                        if (Dic.ContainsKey(nom))
                        {
                            Dic[nom] += 1;
                        }
                        else
                        {
                            Dic.Add(nom, 1);
                        }
                    }

                    Liste.Add(Math.Round(analyse.ListeFaceUsinageExtremite[0].LgUsinage * 1000, 1).ToString());

                    if (analyse.ListeFaceUsinageExtremite.Count > 1)
                    {
                        Liste.Add(Math.Round(analyse.ListeFaceUsinageExtremite[1].LgUsinage * 1000, 1).ToString());
                    }
                    else
                    {
                        Liste.Add("");
                    }

                    foreach (var nom in Dic.Keys)
                    {
                        Liste.Add(Dic[nom] + "x [ " + nom + " ]");
                    }
                }

                Nomenclature.AjouterLigne(Liste.ToArray());

                if (corps.Maj && ExporterBarres)
                {
                    ModelDoc2 mdlBarre = Barre.eEnregistrerSous(Piece, DossierBarre, NomFichierBarre, TypeExport, out CheminFichierExportBarre);

                    if (CreerPdf3D)
                    {
                        String CheminPDF = Path.Combine(DossierBarrePDF, NomFichierBarre + eTypeFichierExport.PDF.GetEnumInfo <ExtFichier>());
                        mdlBarre.SauverEnPdf3D(CheminPDF);
                    }

                    mdlBarre.eFermer();
                }
            }
            catch (Exception e)
            {
                WindowLog.Ecrire("  - Erreur");
                this.LogMethode(new Object[] { e });
            }
            finally
            {
                WindowLog.Ecrire("  - Ok");
            }

            mdlCorps.eFermer();

            return(CheminFichierExportBarre);
        }