article de Patrice Braud publié en avril-mai 1990 dans AutoCAD® Magazine
Les joies du REGEN
O combien d’opérateurs se sont arrachés les cheveux (s’ils en ont encore) en voyant apparaître le fameux et trop célèbre message « Regeneration du dessin en cours’. Eh oui, lorsque ce REGEN demande plusieurs minutes pour s’exécuter, c’est très dur de rester devant sa machine en attendant qu’elle daigne bien vouloir vous redonner la main. Remarquez que vous pouvez toujours aller faire un petit tour du coté de la machine à café et discuter avec les copains des programmes télé de la veille.
Nous allons vous expliquer ici le ‘pourquoi du REGEN » et le « comment l’éviter ». En principe, à la fin de cet article, vous serez devenu un utilisateur « averti » parfaitement conscient de ses responsabilités.
Historique
Cette notion de REGEN (notamment sur les commandes ZOOM, PAN, VUES) est apparue « au grand jour » avec AutoCAD® version 2.5 (elle était cachée dans les versions précédentes car tout ZOOM déclenchait un REGEN). Cette subtilité s’est avérée encore plus cruciale avec la version 2.6 et ses commandes transparentes : ‘ZOOM, ‘PAN, ‘VUES. En effet, si ce type de commande générait un REGEN, il était impossible de l’exécuter au milieu d’une autre commande (sélection d’objet, demande d’un point, etc.). C’est ainsi que beaucoup de gens se sont énervés sur leur AutoCAD® (vs 2.6/9/10) parce que. parfois ,un REGEN se déclenchait « intempestivement » (du moins, à leur avis).
La taille des dessins sous AutoCAD® est « illimitée » et le volume d’un fichier dessin « -.DWG™ » peut parfois atteindre plusieurs méga-octets. Juste pour vous donner un exemple: j’ai traité récemment un dessin de 3.5 Mo (contenant environ 100 000 entités graphiques dont de très nombreux « TEXTE / ATTRIBUT / HACHURE »). Sur ce dessin, un simple REGEN dure de 2 à 30 minutes suivant le nombre de plans gelés. Cela montre bien qu’il est vital de maîtriser parfaitement le déclenchement d’un REGEN.
Ecran virtuel
AutoCAD® gère (en 2D depuis la version 2.5 et en 3D depuis la 10) un écran virtuel de 32000 * 32000 pixels (et ce, pour chaque fenêtre, si vous utilisez le multifenêtrage de la version 10), cadré sur le coin bas gauche des limites du dessin en cours (ou sur le coin de la fenêtre courante après le dernier REGEN). Ainsi, si la fenêtre de visualisation demandée notamment par une commande ZOOM / PAN / VUES, oblige AutoCAD® à « sortir » de cet écran virtuel, alors vous déclenchez un « magnifique » REGEN. Le REGEN peut également provenir d’un ZOOM « trop/ poussé » parce que vous dépassez le niveau de zoom rapide, soit un facteur de 30 à 50 environ (suivant la définition utile de votre carte graphique).
Pourquoi ce facteur approximatif de 30-50 ? Tout simplement parce que votre carte graphique spécifique dispose le plus souvent d’une définition de 1024 * 768 (ou 1280 * 1024) pixels et donc, lors d’un ZOOM en avant, AutoCAD® pourra extraire de son écran virtuel 32000 * 32000 pixels très rapidement (donc sans REGEN) toute
image de, par exemple, 1024 * 768 pixels. Et ce, bien entendu, tant que la fenêtre de visualisation exigée par l’opérateur reste à l’intérieur du carré des 32000 pixels; d’où le grand principe expliqué plus loin : rester dans les limites du dessin, mais aussi ne pas zoomer « trop fort ».
Si vous désirez connaître approximativement votre facteur de zoom maximum, il vous suffit de demander la taille réellement utile de la zone graphique de travail (c’est-à-dire sans la ligne d’état, la zone menu à droite et les lignes de commentaires, si elles sont configurées) par la commande suivante:
(GETVAR « SCREENSIZE »)
Une autre possibilité consiste à placer:
‘MODIFVAR SCREENSIZE
Exemple en VGA et 1021 • 768
Nous allons expliquer immédiatement par un exemple concret le principe évoqué ci-avant. Au fait, avez-vous vraiment bien assimilé les explications précédentes ? Oui, alors bravo, car l’auteur a écrit ces lignes dans un état de « Delirium Autocadien avancé » !
La plus haute valeur obtenue est en général la première, soit le nombre de pixels utiles en horizontal. Prenons un exemple avec un système VGA simple écran avec lignes de commentaire / statut / menu configurées. La variable « SCREENSIZE » vous renvoie (pour notre VGA)
572,414. D’autre part, la division de 32000 par 572 donne environ la valeur 55.
Donc, notre « théorème » va être mis à l’épreuve sur le champ : chargeons « COLUMBIA.DWG™ », vérifiez que les limites sont bien 0-0 à 15-10, « ZOOM TOTAL »
(c’est une sécurité pour se cadrer parfaitement sur les limites), puis « ZOOM » d’un facteur de plus en plus grand provoquera un REGEN pour la valeur « 56 ».
Prenons un deuxième exemple avec une carte Rasterex de définition 1024 * 768 en mode double écran (c’est-à-dire à zone de commentaires non configurée). La variable système « SCREENSIZE » renvoie 916,749. La division de 32000 par 916 donne la valeur 34. Si l’on réalise le même test qu’en VGA, on s’aperçoit immédiatement que le REGEN se déclenche pour un facteur de zoom d’environ « 35 ».
Si votre carte a une définition de 1600 * 1200, le REGEN est généré pour un facteur de zoom approximatif de « 20 ».
Maintenant, vous savez VRAIMENT pourquoi un zoom « trop poussé » déclenche un REGEN, même si vous restez à l’intérieur des limites du dessin. En fait, ne vous inquiétez pas car ce facteur de zoom maximum d’AutoCAD® (sans REGEN) ne pose aucun problème pour tout dessin classique, c’est-à-dire ne dépassant pas le format AO ou, disons, en fait 2 mètres par 2 mètres, si bien sur vous ne zoomez pas comme un « malade » les détails de votre dessin.
Commandes générant un REGEN
Les commandes suivantes engendrent toujours un REGEN :
• ZOOM TOTAL.
• ZOOM ETENDU.
• PLAN LIBERER.
• Changer le RESVCE / ECHLTP / ATTE C RAN.
• Modifier une définition de BLOC / STYLE / FORME.
• Changer le TYPE de ligne d’un plan (d’où l’intérêt d’avoir de multiples plans avec tous les types de ligne prédéfinis; ainsi, vous pouvez changer les entités de plan et non pas le type de ligne du plan).
• Zoomer en dehors de la zone de zoom rapide ou zoomer trop fort (voir l’apparition du sablier lors de l’exécution du ZOOM DYNAMIQUE et le paragraphe ci-avant).
• POINTVUE, tout zoom en 3D (pour AutoCAD® vs 2. x à 9.0).
• CACHE.
Et si vous utilisez AutoCAD® vs 10, n’oubliez pas les nouvelles commandes qui provoquent un REGEN:
• FENETRES (en fait, le changement de multi-fenêtrage.
• Sortir de VUEDYN.
Je suis sûr que j’en oublie et les lecteurs qui me connaissent vont se faire un grand plaisir de m’asticoter sur telle commande évidente à laquelle je n’ai pas pensé.
Contrôle du REGEN par REGAUTO
Si, pour une raison (que j’espère valable) vous enchaînez plusieurs commandes qui vont toutes ou presque générer un REGEN (par exemple changer les limites, ZOOM TOTAL, redéfinir un STYLE, LIBERER un plan) alors, soit vous tapez un « CTRL
C » instantanément après chaque commande, soit vous positionnez « REGNAUTO » à « INactif’ avant cet enchaînement et vous le remettez à « ACtif’ à la fin (d’où immédiatement un unique REGEN car AutoCAD® a mémorisé les REGENs oubliés qu’il « cumule » en un seul). Vous avez toujours la possibilité de faire un REGEN manuel, voire même un « REGNTOUT » si vous êtes en multifenêtrage sous AutoCAD® vs 10.
Attention: si vous touchez au « RESVUE » (qui déclenche « illico presto » un REGEN même si « REGNAUTO » est à « INactif’), faites-le en principe seulement à la vue totale du dessin. Rappel: c’est ce facteur (Défaut = 100) qui contrôle la « polygonisation » des arcs / cercles au niveau de la visualisation du dessin. Il est très souvent à 500, voire même 1000 pour tout dessin de grand format Al/A0. Et si vous désirez conserver ce paramètre pour tous vos nouveaux dessins, vous pouvez toujours l’implanter dans votre dessin prototype (« ACAD™.DWG™ » ou autre). Cette variable système n’est pas tranférée lors d’une commande « SAUVEDXF », ce qui est un peu dommage pour les gens qui désirent faire ultérieurement un « CHARGDXF » (toujours avec AutoCAD®, cela va de soi).
Bien entendu, lorsque vous touchez au « RESVUE » d’AutoCAD®, vous devez en principe toujours répondre « Oui » à la question « Voulez vous des zooms rapides », sinon vous déclencherez un REGEN pour tout ZOOM / PAN / VUES.
Zoom Total/Etendu/Dynamique
En principe, vous ne devez faire un « ZOOM TOTAL » (qui déclenche obligatoirement un REGEN) que si, et seulement si vous avez changé vos limites. A cet instant, dès que vos nouvelles limites sont figées, vous (re)définissez une « VUES » appelée « T » par exemple (« VUES SAUVER T »); maintenant, par la commande « VUES RAPPEL T », votre fenêtre de visualisation se recadre sur la vue totale du dessin et ce sans REGEN, si bien sur vos manipulations intermédiaires n’en ont pas provoqués.
L’intérêt d’une telle technique est d’autoriser un retour à la vue globale du dessin sans faire un « horrible » « ZOOM TOTAL ». Ne pas oublier, non plus, la possibilité de faire cette commande de rappel de vues en mode transparent » ‘VUES RAPPEL T’.
De même, un « ZOOM ETENDU » génère très souvent un double REGEN, donc par pitié, ne lancez cette commande que « contraint et forcé » et utilisez plutôt un « ZOOM FENETRE » éventuellement manuel, c’est-à-dire avec des coordonnées de chaque coin de la fenêtre provenant des coordonnées de la zone utile du dessin (confere la commande « ETAT!). Autre solution, utiliser les deux variables systèmes « EXTMIN / EXTMAX » lors de la commande de zoom:
ZOOM F (GETVAR »EXTMIN ») (GETVAR »EXTMAX »)
Avec cette macro que vous implantez dans un menu, vous êtes certain d’obtenir un résultat
identique à un « ZOOM ETENDU », mais avec un seul et unique REGEN.
Lorsque que vous zoomez sur les bords de votre dessin, utilisez la commande « ZOOM DYNAMIQUE » car l’apparition du sablier signale que la validation de ce zoom déclenchera un REGEN. Ainsi, vous approchez votre « rectangle » de zoom du bord de vos limites en vérifiant bien que le sablier n’apparaît pas en bas et à gauche de l’écran, sinon REGEN!
Rappel: cette commande de « ZOOM DYNAMIQUE » vous indique par un rectangle cyan vos limites, par 4 coins rouge la zone de zoom rapide (toujours plus importante que les limites) et par un rectangle vert pointillé l’ancien niveau de ZOOM / PAN. Les couleurs citées ne sont qu’indicatives car tout dépend de la palette de couleurs de votre carte graphique.
N’oubliez pas également que lors d’un « ZOOM FENETRE », AutoCAD® ne respecte que le PREMIER coin de la fenêtre que vous indiquez, pour exécuter le ZOOM. Donc, le sens de la fenêtre (1° coin, 2° coin) est très important.
J’espère que vous avez bien assimilé et compris ces différents principes de manipulation et notamment le contrôle du REGEN, l’utilisation des commandes « VUES / ZOOM DYNAMIQUE / RESVUE ». A partir de dorénavant et jusqu’à désormais, vous êtes promu
« opérateur confirmé », titre décerné à ceux qui ne déclenchent plus le moindre REGEN inutile …
Patrice BRAUD – ISTC
Et vous, avez-vous connu cette époque?
- Oui
- Non
- Je ne rappelle plus