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
(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:
Un état Fermé ou elle a une taille et une position que l'on peut définir.
On ajuste la taille et la position comme pour une fenêtre Windows. Selon le théme Windows choisi, il est lus ou moins difficile d'accrocher le coin. Il faut s'en approcher très doucement
Un état Fermé Visible qui en réalité correspond à l'état fermé ayant une surface écran > 20000 pixels.
Dans ce cas, les fonctions sont visibles. On a une sorte de barre d'outils Windows dont on peut ajuster la taille
Un état Ouvert qui se déclenche dés que l'on survole l'état fermé. Cet état a également sa propre position et sa taille que l'on peut ajuster à sa convenance.
Il est pratique voir indispensable que l'état ouvert recouvre l'état Fermé.
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:
Sur la barre Windows les Fonctions principales sont:
(PA_C01) Pour arriver à Cette AIDE. (PA_C02) Pour recharger les fichier original de cette Aide. C'est interessant losque l'on modifie la palette et que l'on veu vérifier le résulat. (PA_C03) Pour charger une autre palette en lieu et place de celle-çi. (PA_C04) Pour sauver cette palette dans un fichier. Choisir la sauvegarde en local afin de ne pas changer la palette Originale.
(PA_C11) Pour arriver afficher l'AIDE relative à cette rubrique. Cette ligne n'apparait que si un Aide est connectée (HELP=NomCHM;INDEX) (PA_C12) Fonctions classiques Windows de copie et insertion de tables complètes.
(PA_C21) Pour atteindre l'AIDE relative à cette cellule. Cette ligne n'apparait que si un Aide est connectée (HELP=NomCHM;INDEX) (PA_C22) Fonctions classiques Windows de copie et insertion de cellules. (PA_C23) Fonctions classiques Windows de modification de cellules. (PA_C24) Fonctions classiques Windows de copie ligne d'un tableau.
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>
ID=CArx Les ID CArx sont interceptés par l'ARX et
notamment les 'onclick()' pour lancer les commandes, 'onmouseover()' pour afficher le titre
TITLE= Les Title sont affichés dans la barre de la palette Windows et en infos bulle (fonctionnalité Internet Explorer)
VALUE="_zoom _a" Contient la commande Autocad à exécuter. Commande similaire à celle des menus.
HELP=[MomChm;]ID_CONTENTS Pour
associer une aide à cette balise (cellule ou tête de tableau). Si pas de 'MonChm;' alors la demande sera faite sur le fichier "PMS3D.CHM" ou
"LRA.CHM". Il est possible de mettre le chemin complet, sinon le chemin par défaut de l'aide sera utilisé. 'ID_CONTENTS' est un index figurant dans le fichier '.CHM'.
Cette Aide est gérée par la fonction 'clickMenu()' de javascript qui lance la commande ARX : SendCommandArx("HELP=MomChm;ID_CONTENTS") ;
D'autres ID sont également interprètés:
ID=CArx1,ID=CArx2 ou ID=CArx3: Ils ont exactement les mêmes effet que ID=CARX. Ils permettent de différencier des style HTML afin d'avoir une présentation différente.
ID=CArxI: Idem à ID=CARX mais en prenant les informations de l'élément parent.
Intéressant voir pour les Images ou les icones intégrées dans des cellules. La commande, le titre et l'image se trouvent dans la cellule, un click sur l'image lance la commande de la cellule.
ID=Select: Cet ID ne peut se mettre que dans une balise '<SELECT>' Les balise enfant
<OPTIONS value=^C^Cvmaill></OPTION> contiennent les commandes à
exécuter. La commande sera celle de l'option sélectionnée.
ID=Projets: Pour sélectionner le projet vectoriel Courant. Voir la palette "Page_Vectoriel.htm"
ID=Applis: Pour sélectionner l'application vectorielle Courante . Voir la palette "Page_Vectoriel.htm"
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.