Les Menus Palettes

Les palettes sont des interfaces de Menus, fabriqués en HTML (Page WEB), permettant de lancer des commandes Autocad.
Elles ont été développées afin de répondre aux besoins principaux suivants: 1) Lancer une commande graphique de facon efficace, en couvrant au minimum l'écran graphique
2) être situées sur le réseau afin de faciliter la maintenance et s'assurer que tout le monde a le même interface, quelque soit le poste.
3) être facile à maintenir et indépendant des versions d'autocad

Chargement d'une palette

Commande : SCDP "NomPalette"

Ou par le menu :
PA_A01
PA_A02
(PA_A01) Permet de charger des palette standard en fonction du type de travail que l'on doit effectuer. Il faut généralement charger au minimum la "palette de Base" ou "la Palette générale". Pour les autres, c'est selon  son besoin.
(PA_A02) Permet de charger une palette spécifique développée pour un besoin particulier. L'explorateur de fichiers est utilisé pour charger la palette désirée.

Utilisation de la palette:
 
Une palette s'ouvre dans une fenêtre qui a 3 états possibles: L'intérieur d'une palette est généralement composée de table et de cellule. En cliquant sur le bandeau d'une table, vous switchez entre le mode rétracté et visible.
Lors de cette opération, en général, la hauteur de la fenêtre s'adapte pour contenir l'ensemble des tables.

Les fonctions relatives au click droit sont:
L'utilisation des menus pour sauvegarder et modifier des Cellule, des Table et des palette sont en fait peu intéressantes.
Souvent, le fichier HTML en résultant détruit le formatage HTML (Changements de lignes, alignement des colonnes). Sa reprise par éditeur devient moins facile.
Pour les modifications, si vous en avez les possibilités, sera bien plus efficace et rapide si vous utilisez un éditeur HTML pour modifier les fichiers originaux qui se trouvent en "MENUS\NomPalette.HTM", comme cela est expliquer dans le chapitre suivant.

Programmation d'une palette HTML et Mot Clés:
 
Une palette est en réalité un fichier HTML dont certaines balises et certains mots clés agissent sur Autocad.
Ce chapitre a pour objectif de décrire les bases du fonctionnement de ces palettes afin de permettre à des développeurs de développer des 'applications particulières'.
Pour des modification ou adaptations de palettes existantes, passez au chapitre suivant. 

Pour bénéficier des SCRIPTS de gestion de menus, de la déclaration des Styles HTML et pour pouvoir êtres chargée correctement, le fichier HTML doit être de la forme:
<html>
<head>
<meta http-equiv="Content-Language" content="fr">
<title>Table de Base</title>
<link href="Palette.css" rel="stylesheet" type="text/css">
<SCRIPT src="Palette.src"></SCRIPT >
</head>
<BODY ID="CMenuPalet" style="margin:2px;" onload="InsertHTML();SendCommandArx('Loaded=');ReceiveCommandArx();" >
******** Fin de la tête **************
******** CONTENU;TABLES etc à définir par vous même *********
******** Finir le Fichier Par *******
<SCRIPT>
InsertHTML();
SendCommandArx("Loaded="+document.title) ;
</SCRIPT>

 
Pour comprendre le pourquoi de ces lignes, il faut démonter le code du fichier "Palette.css".
Un champ "<INPUT ID='__CMDE__'...>" sert a passer des commandes à l'ARX d'Autocad, et réciproquement, l'ARX donne ses réponses dans ce Champ.
Pour le reste, Le contenu de la page HTML est libre.
Les Champs clés (en bleu) permettant de communiquer avec Autocad sont de la Forme :
<DIV ID=CArx TITLE="Zoom Fenètre max" VALUE="_zoom _a" HELP=LRA;ID_CONTENTS>ZMAX</DIV> D'autres ID sont également interprètés:
Tout autre fonctionnalité est développée en JAVASCRIPT dans le fichier 'Menu\Palette.SRC. Ce fichier est libre, vous pouvez le consulter.


  Modification d'une palette existante (ou Copie):

Les palette se trouvent dans le répertoire '..\MENU'. Si vous devez en créer une nouvelle, partez de la  copie d'une palette existante.
A l'aide d'un éditeur de texte ou d'un éditeur HTML (Ne pas prendre Microsoft WORD ou autre logiciel de traitement de texte) vous allez éditer ce fichier.
Sachez qu'une balise 'DIV' par exemple est une zone du fichier commençant par '<DIV>' et se terminant par '</DIV>'. Les balises peuvent s'imbriquer.

1) Fixez le titre et la couleur de la palette fermée, en début de fichier, dans cette balise SPAN:
<!--TCMD Carre pour la couleur quand c'est fermé -->
<SPAN id=Closed class=TableHead style="background-color:#d0d0d0;">BASE</SPAN>



2) Mettez a jour les tables, lignes et cellules en respectant la forme suivante :
 Les lignes en italique sont celle du fichier palette; les autre correspondent à des explications.
<TABLE id=IdentifTable class="TableTheme"> TABLE = Balise de début de table; IdentifTable est l'identifiant de cette table
<TR> Balise début de LIGNE
<TD id=Titre title='Titre de ma Table Exemple' HELP=PAL_PALETTES onclick="OnOff('IdentifTable',null);" colSpan=2>Table Exemple</TD> mmm
</TR> Balise Fin  de LIGNE
<TR>
'TD' = Balise début de Cellule; '/TD' = balise de Fin de cellule
'TD0' = classe TD0 pour un fond couleur rose. TD1:Jaune; TD2:Cyan;TD3:Gris:;TD4:Vert;TD5:Violet. TD0G,TD1G...TD5G: Même couleur mais en Gras.
Ces classes sont définies dans le fichier 'palette.css'
'CArx' est obligatoire pour faire le lien avec Autocad
title= Contient le titre d'aide qui sera affiché dans la barre Windows
value= Contient la commande Autocad
Cette cellule fait appel à une image 'ZExtend' qui sera affichée dans la cellule.
<TD class=TD0 id=CArx title='Titre Cellule 1,1, Zoom etendu' value="^C^C._zoom _ex"><IMG id=CArxI src="images/acad/ZExtend.bmp"></TD>
HELP=ACAD;LINE Appel à une aide complète par click droit sur cette cellule. Cette aide fait appel à l'index 'LINE' de l'aide Autocad
<TD class=TD1 id=CArx title='Titre Cellule 1,2, Ligne' HELP=ACAD;LINE value="^C^Cline">Ligne</TD>
</TR>
<TR>
HELP=LRA;PAL_LOAD Appel à une aide complète par click droit sur cette cellule. Cette aide fait appel à l'index 'PAL_LOAD' de l'aide LRA.chm.
LRA; est la valeur par défaut et peut être omi, (Si logiciel PMS3D, on a PMS3D.chm par défaut).
<TD class=TD2 id=CArx title='Titre Cellule 2,1, Charge Palette' HELP=PAL_LOAD value="^C^CSCDP">Load Palette</TD>
<TD class=TD3 id=CArx title='Titre Cellule 2,2, Vide' ></TD>
</TR>
</TABLE>Balise de Fin de TABLE

Des Palettes un peu plus complexes comme 'Page_vectoriel.htm' et 'Page_PointCotés.htm' qui font appel aux projets et couches vectorielles peuvent servir de modèle de départ.