# Initiation à BRL-CAD/Prototypage rapide avec Archer
## Interface

La fenêtre Archer est composée :
* d'une barre de menus située en haut à gauche ;
* d'une barre d'outils située en dessous, comportant des boutons permettant d'accéder aux principaux outils ;
* d'une arborescence sur la gauche, montrant les objets créés (formes primitives, combinaisons, régions) ;
* d'une fenêtre graphique de visualisation, montrant le résultat, au centre ;
* d'une boîte de dialogue de paramètres, à droite, permettant de modifier l'objet sélectionné dans l'arborescence ;
d'une boîte de ligne de commande, permettant de saisir des commandes.

## Créer un projet

Une fois Archer ouvert, il faut créer une nouvelle base de données en cliquant sur le bouton Create a new geometry file (en haut à gauche) ou bien avec le menu File | New… Cela ouvre la boîte de dialogue Create a New Database. Il s'agit d'une boîte de création de fichier classique, il faut créer un fichier comportant l'extension .g, par exemple projet.g.
Dans la version 7.14 sous Microsoft Windows, il faut bien mettre l'extension .g sans quoi le projet n'est pas créé.

## Créer une forme primitive

Pour créer un cube, il suffit de cliquer sur le bouton Create an arb8 (représentant un cube en perspective) — « arb » signifie arbitrary (polyèdre convexe arbitraire) et 8 désigne le nombre de sommets. On voit apparaître :
* l'objet arb8.1 dans l'arborescence ;
* un cube en fil de fer rouge dans la fenêtre graphique ;
* les coordonnées des sommets de points ainsi que des outils de modification dans le panneau de droite.
On voit que ce cube fait 1 000×1 000.
Les boutons de création d'objet sont, de gauche à droite :
* Create an arb6 : crée un prisme droit ;
* Create an arb8 : crée un cube ;
* Create a tgc : crée un cône de rayon 500 pour la base et de hauteur 1 500 ;
* Create a sphere : crée une sphère de rayon 500 ;
* Create a torus : crée un tore dont le rayon de l'anneau fait 500 et le rayon de la section droite fait 50 ;
* Create other primitives
** arb4 : tétraèdre,
** arb5 : pyramide à base carrée,
** arb7 : cube tronqué,
** les autres options sont similaires aux boutons.
Les polyèdres créés sont ceux décrits dans Concepts de base > Primitives élémentaires par défaut.
Il manque dans les boutons un solide élémentaire important : le cylindre. Pour créer un cylindre, il faut passer par la ligne de commande : taper dans la fenêtre du bas
explication de la syntaxe :
| make | -s 1000 | rcc.1 | rcc |
| faire | à l'échelle 1000 (scale) | nom de l'objet | cylindre (right circular cylinder) |

## Modifier la vue

On peut faire tourner l'image en cliquant sur l'image (avec le bouton principal) et en bougeant la souris. Pour revenir à la vue initiale, on utilise le menu Display | Reset. SI l'on maintient la touche Maj (shift) que l'on clique avec le second bouton, on déplace l'image par rapport à la fenêtre, mais pas l'objet par rapport au repère.
Le menu Display permet d'accéder aux vues standard avec le sous-menu Standard view ▸ :
* Front : vue de face ;
* Rear : vue arrière ;
* Port : vue de gauche (litt. bâbord) ;
* Starboard : vue de droite (litt. tribord) ;
* Top : vue de dessus ;
* Bottom : vue de dessous ;
* 35, 25 et 45, 45 sont des vues en perspective : ce sont les angles de rotation de la vue en degrés (azimut et élévation).
L'action de la souris dépend en fait du bouton sélectionné, de gauche à droite :
* Rotate view : action par défaut, fait tourner la figure par glisser-lâcher ;
* Translate view : fait glisser la figure par rapport à la fenêtre (mais ne modifie pas la position de l'objet par rapport au repère), par glisser-lâcher ;
* Scale view : zoom avant et zoom arrière : un glisser-lâcher vers la droite ou le haut provoque un gros plan (zoom avant), un glisser-lâcher vers la gauche ou le bas provoque une vue d'ensemble (zoom arrière) ;
* Center view : le point où l'on clique devient le centre de l'image affichée.
On peut changer la couleur des traits, ce qui permet de distinguer les différents objets créés :
* cliquer avec le second bouton de la souris sur arb8.1 ;
* et dans la liste déroulante qui apparaît, aller sur Color ▸ et choisir une couleur.
La couleur des traits est indépendante de la couleur du rendu solide (voir ci-après).
On peut afficher les repère avec le menu Modes :
* l'option View axes affiche le repère de base ;
* l'option Model axes affiche le repère lié à la primitive.

## Modifier et déplacer une forme primitive

Le déplacement et la modification d'une forme primitive sont des opérations intéressantes à partir du moment où il y a au moins deux formes primitives. Il faut donc d'abord sélectionner un objet. Pour cela, il faut cliquer dessus dans l'arborescence de gauche, son nom est alors surligné.
Les opérations peuvent se faire à la souris en activant l'un des boutons suivants :
* Rotate selected object : fait tourner l'objet, par le glisser-lâcher ;
* Translate selected object : déplace l'objet, par le glisser-lâcher ;
* Scale selected object : le glisser-lâcher vers la droite ou le haut provoque un agrandissement ; vers la gauche ou le bas un rétrécissement ;
* Center selected object : place le centre de l'objet là où l'on clique.
On remarque que le graphisme des boutons est similaire à ceux de modification de la vue, seules les couleurs changent (tons rouge au lieu de gris). Le fonctionnement des boutons est par contre identique.
On a par défaut une vue en perspective. Le problème est que l'on ne sait pas exactement où se trouvent les objets, voir sur Wikipédia Défauts des perspectives axonométriques. Pour placer les objets les uns par rapport aux autres, il faut donc :
* utiliser la vue de dessus ou de dessous pour le placement selon les axes x et y ;
* utiliser la vue de face, arrière, gauche ou droite pour le placement selon l'axe z.

## Créer une combinaison

Pour créer une combinaison, on appuie sur le bouton Create a combination (créer une combinaison) . Cela crée l'objet comb.1 dans l'arborescence, mais cet objet est vide.
Pour définir le contenu de cet objet, il faut :
* le sélectionner dans l'arborescence, il est alors surligné ;
* aller dans la fenêtre de paramètres et cliquer sur Tree ;
* éditer la zone de texte grise.
Initialement, cette zone ne contient que la lettre « u ». On marque le nom de la première forme primitive derrière ce « u ». Sur le deuxième ligne, on marque le nom de la deuxième primitive, précédé de :
* « u » si l'on veut unir les formes, les fusionner ;
* « - » si l'on veut évider la première forme avec la seconde.

## Exemple

On veut créer un support pour un objet à fond sphérique, et pour cela enlever une calotte de sphère à un cube. On va dans le menu File | New… et l'on crée la base de données test.g.
On commence par créer un cube et une sphère avec les boutons correspondants et . Le cube porte le nom arb8.1 et la sphère sph.1. On remarque que la sphère est au milieu du cube.
Puis :
* on se place en vue de face avec le menu Display | Standard views ▸ | Front ;
* on sélectionne sph.1 dans l'arborescence de gauche ;
* on clique sur le bouton Translate selected object ;
* avec la souris, on déplace la sphère par glisser-lâcher, jusqu'à ce qu'il ne reste plus qu'environ 1/4 du rayon dans le cube ;
* on se place dans la vue de dessus avec le menu Display | Standard views ▸ | Top ;
* si nécessaire, on bouge le cercle représentant sphère afin qu'il soit exactement inscrit dans le carré représentant le cube ;
* on se replace en perspective avec le menu Display | Standard views ▸ | 35, 25 ;
* on clique sur le bouton Create a combination ; cela crée l'objet comb.1 dans l'arborescence ;
* dans la fenêtre de paramètres, onglet General, on clique sur le menu déroulant Région et on choisit l'option yes ;
* on clique sur l'onglet Tree ;
* on édite la zone de texte grise afin d'avoir
* dans l'arborescence, on double-clique sur arb8.1 et sph.1 afin de les faire disparaître du dessin, puis sur comb.1 afin de le faire apparaître ; on a alors un cube en traits pleins et une sphère en trait interrompu ;
* on génère une image volumique avec le menu Raytrace | rt ▸ | 512×512.

## Notes

* ↑ « clic droit » pour une souris configurée pour un droitier
* ↑ drag-and-drop : on clique avec le bouton principal de la souris et on bouge la souris tout en maintenant cliqué ; l'action réalisée dépend du mouvement du pointeur de la souris ; on lâche le bouton lorsque le résultat voulu est atteint
Concepts de base < ↑ > Prototypage rapide avec MGED