TopView banner

 
Autres pages


Accueil
 
 

Liens externes


  FSF / Gnu
  FSF / License GPL
  Gtk

 

TopView

Un logiciel de dessin

TopView est un logiciel de dessin vectoriel pour l'électronique. Il existe de nombreux logiciels de ce type sur le marché, mais ils nécessitent un OS très répandu que tout le monde n'a pas la chance d'apprécier. Par ailleurs les logiciels que j'ai pu utiliser ne m'ont jamais rendu réellement les services que j'en attends. J'ai donc décidé de construire mon outil de travail, à mon idée et pour un système fiable : Gnu/Linux.

L'idée fondamentale qui m'a poussé à développer TopView est que les logiciels de saisie de schéma ou de tracé de circuit imprimé sont avant tout des logiciels de dessin. TopView manipule des formes géométriques : lignes, polygones, ellipses, textes,... sans savoir que ces objets sont des morceaux de schéma ou de circuit imprimé. Il gère l'empilement des couches et les associations d'objets (groupes).
C'est grâce aux attributs attachés aux objets que le traitement est différencié. Les attributs sont des paires de chaînes de caractères associées selon le modèle "clé" = "valeur". Ainsi, les objets géométriques donnent son apparence à un schéma (ou un circuit imprimé) et l'ensemble des attributs des objets ajoutent les informations nécessaires aux traitements automatiques. La connaissance de l'usage des attributs n'est pas indispensable pour dessiner avec TopView.
La séparation représentation/sémantique devrait permettre à TopView de servir dans d'autres domaines que l'électronique : enseignement de la géométrie, mécanique, etc.

Un logiciel ouvert

Contrairement aux logiciels habituels dans ce domaine, les fichiers de données manipulés par TopView sont lisibles. Ils font apparaître de manière très intuitive le contenu du document : imbrication des groupes, position des formes, attributs, styles... Il est donc possible de traiter les documents avec des shells-scripts, ou des outils comme sed et awk.
Il va sans dire que TopView est un logiciel libre sous license GPL.

Etat actuel du projet

Dès le départ, je voulais une interface graphique avec l'utilisateur entièrement configurable, ce qui m'a conduit à utiliser Lesstif. Au bout de 18 mois d'utilisation, Lesstif ne me paraît plus être le meilleur choix : il y a encore des bugs, j'ai passé beaucoup de temps à développer une interface logicielle avec C++ et un widget qui ne me donne pas entière satisfaction. Et le projet Lesstif n'avance pas très vite. Par ailleurs, utiliser une application Lesstif, c'est quand-même faire de la publicité pour Motif qui n'en a pas besoin.
Aujourd'hui, Gtk me semble assez complet et Gnome devrait tenir ses promesses. J'en suis donc au portage de TopView sous Gtk.

Ce qui existe

Il est possible de jouer avec TopView (version Lesstif) :
  • gestion de plusieurs documents ;
  • dessiner des formes : lignes, rectangles, ellipses, textes (à finir) ;
  • contextes des formes géométriques : couleurs, extrémités et jointures (styles de X11) ;
  • déplacer, aligner sur la grille, copier, couper, coller (bouton 2) via la sélection X11 ;
  • grouper, séparer ;
  • respecter ou non les groupes ;
  • un menu contextuel (parfois instable) propose les commandes disponibles à tout instant ;
  • les changements d'échelle et de pas de grille sont rapides (boutons 2 et 3 sur les boutons G et Z) ;
  • affichage indirect à travers une "backing-pixmap" pour éviter les scintillements ;
  • gestion des couches : voir, cacher, ajouter...
  • sorties en langages topview et Postscript.

Ce qui est souhaité

  • une GUI moderne et totalement configurable (priorité) et la localisation ;
  • transformations : rotations, symétries, échelles (similitudes) ;
  • d'autres contextes pour les formes géométriques : jointures par arcs de cercles à rayons variables, extrémités personalisables (flèches), polygones avec effet de relief, transparence... ;
  • défaire-refaire total (implémenté à un moment puis supprimé pour accélérer le développement du reste) ;
  • gestion des attributs ;
  • exploitation des attributs : placement, routage, vérification électriques ;
  • gestion de listes d'équipotentielles (netlists), annotations avant/arrière ;
  • interface vers Spice ;
  • langage de macros ;
  • et tout ce qui sera jugé utile !



Téléchargement

Actuellement, TopView utilise les librairies Lesstif et T1lib. Il faut aussi un fichier de ressources à ranger sous app-defaults/TopView ou à coller dans ~/.Xdefaults. Pour l'heure, ce fichier (fourni) est indispensable au fonctionnement de TopView. Je sais que ce n'est pas normal donc il ne le restera pas.

Les packages de binaires sont au format rpm. Les logiciels ont été compilés avec gcc 2.7.2.1 sous SuSE 5.3.
 
 

 TopView 0.68.13 (sources)   tv-0.68.13.tgz   124 Ko 
 TopView 0.68.9 (binaires)  topview-0.68.8-1.i386.rpm 
 75 Ko 
 Lesstif 0.85   lesstiff-0.85-1.i386.rpm   443 Ko 
 T1lib 0.8   t1lib-0.8-1.i386.rpm   610 Ko 
 gtv (tv pour Gnome)   gtv-0.0.20-1.tgz   114 Ko 

Copyright 1997-1999 Indy.   Send comments to duparq at free dot fr.