Le dessin par contraintes pour Linux : pSketcher
Signature : | Mis en ligne le : 14/03/2012
Catégorie(s) :
  • Linux Pratique
  • | Domaine :
    Commentez creative commons
    Article publié dans :
    Achetez
    Linux Pratique 59 :
    Version Papier
    Page 1/3
    Page suivante »

    Tous ceux qui ont utilisé Catia, Soliworks, Pro/Engineer ou autre modeleur paramétrique similaire ont sûrement été frappés par la façon de construire une esquisse, tant celle-ci diffère du dessin technique classique en 2D.
    A vrai dire, on s’y habitue rapidement et il devient difficile de s’en passer.
    Linux ne proposait rien dans ce domaine jusqu’à ce qu’apparaisse pSketcher que voici…

    1. Entrée en matière

    Que signifie paramétrique ?

    Il n’est pas vraiment aisé de définir ce concept appliqué au dessin 2D (ou à la modélisation 3D) sans entrer dans des notions mathématiques. Pour rester simple, faisons un rapprochement entre dessin technique et figure géométrique, qui sont de même nature. Un dessin technique, qu’on appelle un plan, est un ensemble d’entités simples (segments et arcs) interdépendantes dans leurs positions relatives et leurs conditions géométriques. Cette interdépendance peut être traduite par une équation, transparente à l’utilisateur dans la plupart des cas, mais pas toujours, notamment lorsque l’utilisateur établit lui-même l’équation définissant, par exemple, la dimension d’un élément par rapport à un autre.Dans une équation, le résultat dépend des valeurs affectées aux variables. Ainsi, dans un outil de dessin paramétrique 2D, lorsque l’on change la dimension d’un élément existant ou sa position angulaire, ou n’importe quel autre paramètre le définissant, cet élément est immédiatement " recalculé " par le logiciel qui le redessine alors en fonction des changements, tout en modifiant les autres éléments qui lui sont reliés, car ceux-ci sont contraints de respecter les conditions qui ont présidé à leur mise en place initiale.Bref : c’est le fameux " effet papillon " d’Edward Lorenz. Quand on modifie un élément, qui n’est jamais figé sauf à être totalement contraint, les autres éléments de l’ensemble sont également modifiés en conséquence.

    Le dessin technique en 2D, traditionnel ou DAO, est caractérisé par sa rigueur géométrique et dimensionnelle. Il n’est pas question dans ce domaine que l’objet représenté soit seulement ressemblant : il faut qu’il soit l’exacte représentation à l’échelle du réel. Ainsi, une ligne parallèle à une autre doit être construite en recourant à une fonction parallélisme du logiciel ; si une autre doit être tangente à un cercle, on appellera une fonction de tangence ; si encore une ligne doit faire un angle de 90° avec une autre, c’est la fonction de perpendicularité qui sera sollicitée. Et ainsi, petit à petit, en posant une entité l’une après l’autre tout en respectant les caractéristiques de dimensions et de positions relatives de chacune, le dessin se construit. C’est ainsi qu’il convient d’utiliser Qcad, par exemple.

    Le dessin par contraintes, lui, obéit à une logique inverse : on dessine d’abord une forme approximativement ressemblante mais complète de l’objet, puis on assigne dimensions et caractéristiques géométriques aux éléments posés, qui alors s’étirent, se raccourcissent et se mettent en place. C’est ainsi qu’opèrent les modules d’esquisse (les sketchers) des modeleurs paramétriques d’aujourd’hui. Nous allons le découvrir par la pratique grâce à pSketcher.

    2. Obtenir pSketcher

    Le programme pSketcher est l’œuvre, encore en développement, de Michael Greminger, qui l’a placée sous GNU General Public Licence V2. Il s’agit donc d’un programme libre, hébergé par Google Code Hosting, disponible uniquement en code source à compiler, que l’on téléchargera à l’adresse suivante : http://code.google.com/p/psketcher/source/checkout

    L’opération de compilation est fort simple (cmake CmakeLists.txt, make, c’est tout !) mais nécessite l’installation préalable de plusieurs bibliothèques dont la liste est donnée par le fichier INSTALL, inclus dans l’ensemble des éléments rapatriés lors du téléchargement. Ajoutons simplement que pSketcher est interfacé en QT4 et qu’il ne fonctionnera donc que sur des distributions Linux récentes. Personnellement, je l’ai compilé sur Mandriva 2009.1 et 2010, toutes deux en 64 bits. L’exécutable généré se trouve dans ./psketcher-red-only/src/Interface ; il s’appelle psketcher.

    Tant que nous sommes sur la page Google Code Hosting de pSketcher, prenons connaissance de ce qu’en dit son auteur : pSketcher est un outil de dessin 2D paramétrique avec contraintes, actuellement fonctionnel sous Linux, qui sera porté ultérieurement sur diverses plates-formes.

    3. L’interface de pSketcher

    L’interface de pSketcher est très simple : dans la partie supérieure se situe la barre des menus littéraux classiques, juste au-dessus de la barre des icônes qui surmonte l’espace de dessin. La barre des icônes est structurée logiquement en quatre groupe de fonctions :

    Visualisation :

    • 1 Vue optimale ;
    • 2 Vue zoom fenêtre.

    Appliquer Contraintes :

    • 3 Solve Constraints, qui sert à rendre effective la contrainte appliquée à une entité.

    Outil de Sélection :

    • 4 Pour désigner une entité, ou la déplacer avec le bouton milieu de la souris.

    Construction :

    • 5 Segment (non polyligne) ;
    • 6 Point de construction ;
    • 7 Arc par 3 points ;
    • 8 Cercle.

    Contraintes :

    • 9 Longueur ;
    • 10 Angle ;
    • 11 Parallélisme ;
    • 12 Horizontalité ;
    • 13 Verticalité ;
    • 14 Tangence.

    La facilité d’utilisation d’un tel outil de dessin se déduit de la simplicité de son interface. Quand on la compare à celle deQcad, on se rend compte à quel point la façon de dessiner diffère de l’un à l’autre, pour faire des choses analogues, bien que plus sophistiquées avec Qcad. En effet, pSketcher sert à produire des esquisses (" épures " serait plus juste) rigoureuses mais dépourvues des attributs de couleur, d’épaisseur de trait, de hachurage ou d’inscription de cotes tolérées sur des calques séparés comme en produisent les logiciels de DAO (CAD). Qcad et pSketcher ont des rôles différents.

    Figure_1

    Fig. 1 : Interface de pSketcher

    Les présentations étant faites, il ne reste plus qu’à utiliser les outils que l’on vient de découvrir. Le lecteur est invité à faire l’exercice décrit ici en pas à pas.

    4. Démarche fondamentale

    Comme il a été dit précédemment, le processus du dessin par contraintes est celui-ci :

    • Poser les entités de dessin nécessaires de façon à obtenir une forme approximative de l’objet représenté ;
    • Assigner des contraintes géométriques et dimensionnelles (de forme et/ou de position selon les cas) ;
    • Appliquer les contraintes afin qu’elles produisent l’effet attendu.

    C’est la démarche fondamentale qu’il faut garder à l’esprit.

    Observons la figure 2, qui illustre en trois phases la façon de procéder :

    1. Sélectionner Arc dans la barre d’icônes puis, cliquer en A (début de l’arc), en M (point de passage) et en B (fin de l’arc). L’arc de cercle se dessine et la cotation du rayon se met automatiquement en place. La valeur du rayon n’a pour l’instant aucune importance, bien que l’on pourrait dès cet instant lui attribuer la valeur désirée, ce qui en modifierait le dessin.
    2. Sélectionner Line, cliquer en B, puis en C. Un segment BC est construit ; la fonction ne créant pas de polylignes automatiques, il faut de nouveau cliquer en C puis en D pour poser le segment CD (avec une fonction polyligne, il eût suffi de cliquer en D). De la même manière, construire DE puis EA afin d’obtenir une figure fermée. À noter que les segments s’accrochent aux points désignés sans qu’il soit nécessaire comme en DAO de spécifier le type d’accrochage des entités.
    3. Supposons maintenant que l’on veuille que BC soit tangent en B à l’arc AB, ce qui n’est pas le cas actuellement. Il va donc falloir exécuter une opération de mise en tangence pour que la figure corresponde à ce que l’on veut. Pour cela, il convient d’assigner cet impératif en sélectionnant d’abord Tangent Constraint, puis en désignant l’arc AB et le segment BC (l’ordre de désignation est neutre).Le point commun entre l’arc et le segment étant le point B, le symbole de tangence se place sur B. Cela signifie que quelle que soit la déformation que l’on fera subir par la suite à la figure, le segment BC restera tangent en B à l’arc AB : il est contraint de conserver cette caractéristique géométrique.

    Vous souhaitez commenter cet article ?
    Brèves Flux RSS
    Édito : Linux Pratique N°77
    Édito : GNU/Linux Magazine N°160
    Édito : GNU/Linux Magazine Hors-Série N°66
    Édito : MISC Hors-Série N°7
    Édito : Linux Essentiel N°31
    Communication RSS Com. RSS Presse
    Misc, Partenaire de l’événement Hack In Paris.
    Linux Pratique, Partenaire de l’Ubuntu Party à la Cité des Sciences et...
    Linux Essentiel N°31 – Communiqué de presse
    GNU/Linux Magazine N°159 – Communiqué de presse
    Linux Magazine, Partenaire de Symfony Live Paris
    Rechercher un article dans notre base documentaire :
    En kiosque Flux RSS

    Le tout nouveau Misc est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Linux Pratique est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau GNU/Linux Magazine est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau GNU/Linux Magazine HS est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Misc HS est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Linux Essentiel est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Open Silicium est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...