IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Bug bizarre avec l'instruction "end"


Sujet :

VB.NET

  1. #1
    Membre éprouvé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 934
    Points : 1 274
    Points
    1 274
    Par défaut Bug bizarre avec l'instruction "end"
    Bonjour,

    De temps en temps, mais assez rarement, j'ai une exception qui se produit lorsque je quitte mon application

    C'est l'instruction "End" qui déclenche une erreur "System.ComponentModel.Win32Exception" et plus exactement "Error creating window handle"

    Mon appli compte plusieurs fenêtres, la fenêtre de démarrage (FrmEtape1) n'est affichée qu'au début, on peut quitter l'appli lorsqu'une autre fenêtre est affichée sans que la fenêtre de démarrage soit affichée

    Exemple de code pour la fenêtre FrmEtape5 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        Private Sub FrmEtape5_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
            If Quitter() Then
                End ' Application.Exit()
            Else
                e.Cancel = True
            End If
        End Sub
     
        Private Sub ButFermer_Click(sender As System.Object, e As System.EventArgs) Handles ButFermer.Click
            If Quitter() Then End ' Application.Exit()
        End Sub
    Code de la procédure Quitter() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Public Function Quitter() As Boolean
            Return FrmMsgBox.Montrer(Msg_VoulezVousQuitter, MsgBoxStyle.YesNo) = MsgBoxResult.Yes
        End Function
    A bientôt
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour

    End est un héritage du BASIC d'origine et a été maintenu pour des raisons de compatibilité. Regarde les remarques en bas du cadre, dans cette page. C'est le End de VBA. mais j'ai bien l'impression que celui de VB.net lui ressemble beaucoup.

    Tu peux également jeter un œil sur Application.Exit. Il a l'air moins brutal.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Membre éprouvé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 934
    Points : 1 274
    Points
    1 274
    Par défaut
    Citation Envoyé par clementmarcotte Voir le message
    End est un héritage du BASIC d'origine et a été maintenu pour des raisons de compatibilité.
    Bonjour,

    Effectivement, je vais supprimer l'espace de nom VisualBasic ce sera nettement mieux

    Citation Envoyé par clementmarcotte Voir le message
    Tu peux également jeter un œil sur Application.Exit. Il a l'air moins brutal.
    J'avais essayé Application.Exit mais ça ne fonctionne pas ; la raison est expliquée dans le lien que tu m'as donné :

    This method does not necessarily force the application to exit.

    Bref, comment quitter une application normalement et proprement ? Encore une chose simple compliquée à faire

    Pourtant, comme en C#, dans VB.NET il y a un ramasse miettes donc ça devrait être facile

    Comme je l'ai dit, mon application a plusieurs fenêtres, dont une est la fenêtre de démarrage. Mais, exception faite des boîtes de dialogues, il n'y a qu'une fenêtre affichée à la fois. Dans mon application, pour passer d'une étape à une autre, une fenêtre est fermée (plus exactement cachée avec la méthode .Hide) et une autre est ouverte.

    Dans le code de fermeture de mes fenêtres (exception faite des boîtes de dialogues), il y a un code qui demande à l'utilisateur de confirmer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        Private Sub FrmEtape5_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
            If Quitter() Then
                End ' Application.Exit()
            Else
                e.Cancel = True
            End If
        End Sub
        Public Function Quitter() As Boolean
            Return FrmMsgBox.Montrer(Msg_VoulezVousQuitter, MsgBoxStyle.YesNo) = MsgBoxResult.Yes
        End Function
    Si pour quitter proprement une appli il faut fermer toutes les fenêtres en mémoire (même celles non affichées) alors je crains une boucle infinie.

    Dans les propriétés de l'application le mode d'arrêt est "à la fermeture du dernier formulaire" ; faudrait-il donc que je remplace simplement End par Me.Hide ???

    A bientôt
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Hide ne ferme pas le formulaire, il ne fait que le cacher et ne ferme pas l'application. Il est conservé en mémoire

    Close ferme le formulaire, et le décharge de la mémoire. C'est le seul moyen d'arrêter un programme par la fermeture du formulaire.

    P.S. As-tu vraiment besoin de plusieurs feuilles ? Une seule Form avec un TabControl ne suffirait pas ?
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  5. #5
    Membre éprouvé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 934
    Points : 1 274
    Points
    1 274
    Par défaut
    Citation Envoyé par clementmarcotte Voir le message
    Bonjour,

    Hide ne ferme pas le formulaire, il ne fait que le cacher et ne ferme pas l'application. Il est conservé en mémoire

    Close ferme le formulaire, et ;e décharge de la mémoire. C'est le seul moyen d'arrêter un programme par la fermeture du formulaire.
    Bonjour,

    j'ai testé ce code, il fonctionne mais je le trouve très sale

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        Private Sub FrmEtape5_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
            If Quitter() Then
                Dim f As Form
                For Each f In My.Application.OpenForms
                    If Not (f Is Me) Then f.Close()
                Next
                Me.Close()
                'End ' Application.Exit()
            Else
                e.Cancel = True
            End If
        End Sub
    A bientôt
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  6. #6
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Je viens d'ajouter deux questions à ma réponse.

    Mais si tu choisis d'arrêter le programme à la fermeture de toutes les formes, tu peux fermer (Close) tes forms en sortant. Tant que tu ne fais pas le Close de la dernière, tu n'as rien à craindre.

    Ou bien, tu transformes ton projet en application MDI. Ta MDIForm devient ton formulaire de démarrage. Avec l'option d'arrêter à la fermeture du formulaire de démarrage, tu peux fermer toutes les autres Forms (des MDIChildForms) sans fermer l'application.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  7. #7
    Membre éprouvé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 934
    Points : 1 274
    Points
    1 274
    Par défaut
    Bonjour,

    Le programme est un assistant, avec une dizaine d'étapes correspondant chacune à une fenêtre ; chaque fenêtre est assez complexe.

    J'ai renoncé au TabControl car cela aurait fait une seule fenêtre très chargée, je préfère avoir plusieurs fenêtres indépendantes.

    D'autre part certaines fenêtres sont ré-employées dans d'autres applications ; avec des fenêtres indépendantes le ré-emploi est plus facile.

    Vu qu'il y a plusieurs applications "qui vont ensemble" (suite logicielle) je pense couper l'application principale en deux pour que le flux soit plus logique.

    Le programme comporte aussi pas mal de fenêtres "annexes" : des boîtes de dialogues mais aussi des choses plus lourdes comme une fenêtre de visualisation 2D (qui est presque un vrai logiciel de dessin) et une fenêtre de visualisation 3D

    La MDI c'est plutôt adapté aux applications multi-document, où chaque fenêtre fille correspond à un fichier ouvert ? Mon appli ne travaille que sur un document à la fois.

    A bientôt
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  8. #8
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,

    Citation Envoyé par electroremy Voir le message
    Le programme est un assistant, avec une dizaine d'étapes correspondant chacune à une fenêtre ; chaque fenêtre est assez complexe.
    J'ai renoncé au TabControl car cela aurait fait une seule fenêtre très chargée, je préfère avoir plusieurs fenêtres indépendantes.
    D'autre part certaines fenêtres sont ré-employées dans d'autres applications ; avec des fenêtres indépendantes le ré-emploi est plus facile.
    Je pense que la solution du TabControl est en effet préférable. Pour éviter une fenêtre très chargée, tu peux utiliser des UserControl.

  9. #9
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Je plussois pour le tabcontrol et les UserControl

  10. #10
    Membre éprouvé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 934
    Points : 1 274
    Points
    1 274
    Par défaut
    Si j'emploie un tabControl, je vais être confronté aux problèmes suivant :
    - chaque fenêtre a ses propres variables locales, qui vont se retrouver avec la même porté dans une seule fenêtre
    - et j'aurais toujours des autres fenêtres (visu 3D, visu 2D, ect...)

    Pour le UserControl je ne voit pas comment cela concerne mon application, je n'ai pas besoin de créer un contrôle spécifique, les contrôles de base (bouton, case à cocher, zones de textes, ...) sont suffisants

    A bientot
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  11. #11
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,


    Citation Envoyé par electroremy Voir le message
    Bonjour,


    La MDI c'est plutôt adapté aux applications multi-document, où chaque fenêtre fille correspond à un fichier ouvert ? Mon appli ne travaille que sur un document à la fois.

    A bientôt
    Peut-être; mais au point où tu es rendu, cela n'a cela plus aucune importance. Tu ne veux pas d'un TabControl et tu as le problème de gérer des fenêtres sans provoquer l'arrêt incontrôlé de ton programme et tu veix pouvoir arrêter ton programme volontairement n'importe quand. Penser multi-fenêtres au lieu de multi-documents est probablement la solution qui te reste sans TabPage. (À moins de modifier/créer une classe qui te permettrais de fermer le programme et les feuilles en douceur sans "blessure" ni erreur.) Ou bien tu ajoutes une toute petite fenêtre toujours ouverte et qui te sers de fenêtre de démarrage (un "splash screen" permanent) avec un textbox ou un label pour donner des directives et deux boutons ; Commencer et Terminer. Tu t'organises pour rediriger tes fermetures sur cette feuille-là, tu obliges de cliquer sur Terminer pour terminer et fermer la feuille de démarrage. (Avec l'arrêt du programme en fermant la feuille de démarrage.)

    P.S. Pourquoi vouloir/devoir quitter en plein milieu du processus ? Sans dire que c'est une solution brillante et universelle, si la raison c'est que c'est plus simple de recommencer au début que de corriger les erreurs passées, aussi bien tuer le processus dans le gestionnaire de tâches. Sinon, as-tu un moyen quelconque de sauvegarder ce qui a déjà été fait et de reprendre là ou on l'a laissé ?
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  12. #12
    Membre éprouvé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 934
    Points : 1 274
    Points
    1 274
    Par défaut
    Citation Envoyé par clementmarcotte Voir le message
    tu as le problème de gérer des fenêtres sans provoquer l'arrêt incontrôlé de ton programme
    En fait je n'ai aucun soucis à ce niveau là, mon applicaton ne s'est jamais fermée sans que je le demande

    Citation Envoyé par clementmarcotte Voir le message
    et tu veix pouvoir arrêter ton programme volontairement n'importe quand
    C'est exactement ça

    Citation Envoyé par clementmarcotte Voir le message
    P.S. Pourquoi vouloir/devoir quitter en plein milieu du processus ? Sans dire que c'est une solution brillante et universelle, si la raison c'est que c'est plus simple de recommencer au début que de corriger les erreurs passées, aussi bien tuer le processus dans le gestionnaire de tâches. Sinon, as-tu un moyen quelconque de sauvegarder ce qui a déjà été fait et de reprendre là ou on l'a laissé ?
    D'un point de vue ergonomique l'utilisateur doit pouvoir quitter l'application quand il le souhaite.

    En effet, le résultat de chaque étape peut être sauvé.

    Là je me rends compte qu'il faudrait que je vous montre à quoi sert le logiciel... Ce n'est pas vraiment un assistant.

    Le programme sert à fabriquer des pièces avec une fraiseuse à commande numérique à partir d'une image en couleur.
    Il est également possible de fabriquer la pièce en impression 3D.

    Si l'utilisateur part d'une image BMP et va jusqu'à l'usinage, il suit toutes les étapes de 1 à 10

    Si l'utilisateur veux imprimer la pièce en 3D, il n'a pas besoin d'aller plus loin que l'étape 6

    Si l'utilisateur démarre avec le format d'image vectoriel "BT3", il débute après lecture à l'étape 3

    Ce type de logiciel est habituellement très compliqué : un tel logiciel de CAO FAO est une vrai usine à gaz, avec des centaines de fonctions et de paramètres cachées dans de multiples menus et sous-menu. Mon programme veux rendre ça plus simple, en "guidant" l'utilisateur via des étapes à suivre. Mais c'est tout de même plus complexe qu'un simple petit "wizard"

    Certaines étapes se suivent mais l'utilisateur ne va pas forcément tout faire au même moment, il peut sauvergarder et y revenir plus tard.
    Plus précisément, à chaque étape :
    - on peut sauver les paramètres de l'étape (ou pas) dans un fichier qui a le même nom que le fichier de départ (ou pas) ; chaque étape généré un fichier avec une extension spécifique
    - on peut lire les paramètres sauvegardé précédemment s'ils existent, ou lire un autre fichier de paramètre qui porte un nom différent
    Cela peut sembler compliqué mais c'est une "souplesse" nécessaire : pour un même fichier "image" on ne va pas forcément utiliser la même machine, les mêmes outils ou la même matière pour fabriquer la pièce, d'où l'utilité d'avoir des fichiers de paramètres différents pour chaque étape

    Cela peut sembler compliqué, mais ça reste plus simple qu'une CAO FAO

    Voici un aperçu du logiciel :

    ETAPE 1 - Lecture d'une image :

    Nom : 01.jpg
Affichages : 198
Taille : 296,6 Ko

    Lecture d'une image :

    Nom : 02.jpg
Affichages : 179
Taille : 105,8 Ko

    Les paramètres sont sauvés dans des fichiers portant l'extension "BT1" :

    Nom : 03.jpg
Affichages : 177
Taille : 373,3 Ko

    ETAPE 2 - Détection des contours et lissage :

    Nom : 04.jpg
Affichages : 154
Taille : 384,5 Ko

    (Les paramètres sont sauvés dans des fichiers portant l'extension "BT2")

    ETAPE 3 - Visualisation :

    Nom : 05.jpg
Affichages : 153
Taille : 205,4 Ko

    Ici on peut :
    - exporter l'image au format vectoriel "BT3"
    - exporter l'image au format SVG
    - visualiser l'image en 2D, pour voir le résultat du lissage :

    Nom : 06.jpg
Affichages : 157
Taille : 95,1 Ko

    Nom : 07.jpg
Affichages : 147
Taille : 92,6 Ko

    ETAPE 4 - Taille de la pièce :

    Nom : 08.jpg
Affichages : 182
Taille : 406,9 Ko

    (Ici on spécifie les dimensions de la pièce en mm ou en inch - les paramètres sont sauvé dans des fichiers "BT4")

    ETAPE 5 - Détection des perçages :

    Nom : 09.jpg
Affichages : 182
Taille : 245,3 Ko

    (Ici il est possible de détecter dans l'image des trous ronds qui seront percés avec des forêts plutôt que fraisés - les paramètres sont au format "BT5")

    ETAPE 6 - Paramètres fraiseuse CNC :

    Nom : 10.jpg
Affichages : 169
Taille : 533,5 Ko

    Cette étape est importante.
    A ce moment-là, la pièce en 3D "existe" dans la mémoire du logiciel. Plusieurs choses sont possibles
    - visualisation en 2D de la reconnaissance des perçages

    Nom : 11.jpg
Affichages : 137
Taille : 91,3 Ko

    - export au format STL pour imprimer la pièce en 3D avec un logiciel tiers
    - visualisation en 3D :

    Nom : 12.jpg
Affichages : 163
Taille : 132,8 Ko

    - saisie des paramètres de la fraiseuse pour continuer les étapes suivantes

    Les paramètres de cette étape sont sauvés au format "BT6"

    ...
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  13. #13
    Membre éprouvé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 934
    Points : 1 274
    Points
    1 274
    Par défaut
    ...

    ETAPE 7 - Position et fixation de la pièce dans la fraiseuse

    Nom : 13.jpg
Affichages : 171
Taille : 399,4 Ko

    Ici on choisi comment la pièce est fixée dans la machine. Les paramètres sont sauvés au format "BT7"

    La fenêtre de visualisation en 2D est utilisée pour choisir la position des brides éventuelles :

    Nom : 14.jpg
Affichages : 163
Taille : 175,3 Ko

    Nom : 15.jpg
Affichages : 165
Taille : 112,1 Ko

    Une boîte de dialogue permet d'avoir des explications sur un des paramètres :

    Nom : 16.jpg
Affichages : 223
Taille : 181,8 Ko

    ETAPE 8 - Choix des outils et des conditions de coupe pour le perçage :

    Nom : 17.jpg
Affichages : 184
Taille : 532,1 Ko

    Les paramètres sont sauvés au format "BT8"

    Une boîte de dialogue propose des valeurs par défaut en fonction de la matière à usiner et du type d'outils :

    Nom : 18.jpg
Affichages : 179
Taille : 259,3 Ko

    Une autre boîte de dialogue fait un bilan des perçages :

    Nom : 19.jpg
Affichages : 166
Taille : 51,0 Ko

    ETAPE 9 - Choix des outils et des conditions de coupe pour le fraisage :

    Nom : 20.jpg
Affichages : 195
Taille : 516,3 Ko

    Même principe que pour le perçage. Les paramètres sont sauvés au format "BT9"

    Il y a aussi des petites boîtes de dialogues :

    Magasin de fraises :

    Nom : 21.jpg
Affichages : 159
Taille : 185,1 Ko

    Aide pour la plongée oblique :

    Nom : 22.jpg
Affichages : 140
Taille : 143,9 Ko

    Aide pour le sens du fil du bois :

    Nom : 16.jpg
Affichages : 223
Taille : 181,8 Ko

    Aide pour le choix des vitesses :

    Nom : 24.jpg
Affichages : 155
Taille : 254,9 Ko

    Paramètres de l'algorithme génétique pour l'optimisation des parcours :

    Nom : 25.jpg
Affichages : 167
Taille : 203,3 Ko

    ...
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  14. #14
    Membre éprouvé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 934
    Points : 1 274
    Points
    1 274
    Par défaut
    ...

    Editeur de texte pour l'affichage des résultats du calcul des surfaces usinables :

    Nom : 26.jpg
Affichages : 138
Taille : 127,0 Ko

    ETAPE 10 - Génération GCODE

    C'est fini, les fichiers GCODE pour la fraiseuse sont prêts à être générés.

    Nom : 27.jpg
Affichages : 189
Taille : 452,6 Ko

    On peut visualiser les phases de fraisage en 2D :

    Nom : 28.jpg
Affichages : 134
Taille : 329,8 Ko

    On peut visualiser les étapes de fraisage en 2D avec une vue de côté et une vue de dessus :

    Nom : 29.jpg
Affichages : 152
Taille : 112,7 Ko

    Voilà

    Un "projet pièce" de mon utilisateur est donc composé d'un fichier XXX.BMP avec 9 fichiers de paramètres XXX.BTi (un fichier BTi avec i allant de 1 à 9 par étape)
    Cela laisse un maximum de souplesse, selon les besoins et les contraintes du moment, l'utilisateur peut "déroger" au projet et pour une étape particulière, choisir des paramètres différents de ceux du projet initial.

    Avec les logiciels de CAO / FAO traditionnel pour obtenir une pièce à partir d'une image ça serait beaucoup plus long et difficile, il faudrait passer par au moins 3 logiciels, et faire pas mal d'édition manuelles et de réglages.

    A bientôt
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

Discussions similaires

  1. Bug bizarre avec jquery
    Par erehcab dans le forum jQuery
    Réponses: 7
    Dernier message: 22/04/2009, 22h28
  2. [Qt4] Bug bizarre avec QTableWidget
    Par Michaël dans le forum Qt
    Réponses: 12
    Dernier message: 26/04/2007, 16h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo