# Initiation à BRL-CAD/Concepts de base
## Une interface graphique pour du prototypage rapide

BRL-CAD dispose d'une interface graphique (GUI, graphic user interface) appelée Archer. Le programme de création de modèle « habituel » s'appelle MGED (multidevice geometry editor, éditeur de géométrie multi-périphérique). Il dispose également d'une interface graphique, un peu moins évoluée que celle d'Archer.
Ces interfaces graphiques permettent du prototypage rapide, c'est-à-dire la création rapide d'un modèle volumique (3D) sans travail préparatoire. Mais cette interface graphique est une surcouche de BRL-CAD, le cœur du programme étant en mode texte ; le dessin s'apparente donc à de la programmation. En l'état actuel des choses, toutes les commandes ne sont pas accessible par les boutons et menus d'Archer ou de MGED, il faut donc encore entrer des commandes pour avoir accès à toutes les possibilités du programme.

## Un langage de programmation

Archer comme MGED disposent de deux fenêtres :
* un interpréteur de commande en ligne (shell) ;
* une fenêtre graphique montrant le dessin en cours.
Les commandes entrées dans l'interpréteur permettent de créer les objets affichés dans la fenêtre graphique.

## Une base de donnée

La géométrie de l'objet est enregistrée dans un fichier ayant l'extension .g. Ce fichier est une base de donnée contenant toutes les opérations servant à définir l'objet. BRL-CAD place systématiquement toutes les informations sur le disque, il n'y a donc pas de procédure d'enregistrement du fichier avec MGED ; ce n'est pas le cas d'Archer qui nécessite d'enregistrer régulièrement le fichier.

## Un modeleur volumique

BRL-CAD est un modeleur volumique, ou « modeleur 3D » : on conçoit des objets tridimensionnels qui peuvent ensuite être visualisés sous tous les angles. La construction des solides se fait par la méthode de géométrie de construction de solides (CSG, constructive solid geometry) : les solides de base sont combinés par des opérations booléennes : soustraction, réunion, intersection.
Combinaison de solides élémentaires :
| Union (ou addition) | Différence (ou soustraction) | Intersection |
| L'assemblage des deux objets. | La soustraction d'un objet de l'autre. | La partie commune aux deux objets. |
Le terme « solide » fait référence à la notion géométrique : une portion de l'espace comprise à l'intérieur d'une surface fermée (voir Solide géométrique), les solides de BRL-CAD ne correspondent pas nécessairement à pièce matérielle. On part de solides élémentaires. Pour éviter la confusion entre « solide géométrique » et « pièce matérielle », BRL-CAD parle de « forme primitive » (primitive shape), ou simplement de « primitive ,» pour désigner ces solides élémentaires.
Chaque forme primitive a un nom. Ces primitives sont combinés — union, différence, intersection — pour former des assemblages, ou combinaisons ; les combinaisons peuvent elle-même être combinées entre elles. Une région est une combinaison qui représente une pièce finalisée de l'assemblage final ; elle correspond cette fois à une pièce matérielle. Si le projet est formé de plusieurs pièces, chaque pièce est une région. Chaque primitive, chaque combinaison, chaque région a un nom dans la base de données. Par convention, on ajoute au nom une extension indiquant le type de l'objet : .s pour un solide, .c pour une combinaison, .r pour une région, mais cela n'est pas obligatoire. On obtient ainsi une arborescence de création (tree) de type :
On peut voir les primitives et les combinaisons comme des épures, des esquisses préparatoires, et les régions comme les réalisations « concrètes » de ces esquisses. Notons que l'on peut avoir une combinaison de régions, correspondant à un sous-ensemble, un assemblage de pièces.
Un chemin (path) est une succession de nœuds dans une arborescence en descendant, c'est-à-dire en allant d'une région ou d'une combinaison vers une forme primitive. Par exemple, avec l'arborescence ci-dessus, on a les chemins

## Primitives élémentaires par défaut

BRL-CAD peut créer des primitives élémentaires avec des paramètres par défaut.
Par exemple, le polyèdre de huit faces par défaut est un cube d'arête de longueur 1 000, centré sur l'origine du repère, les arêtes étant alignées avec les axes. Les polyèdres de 4 à 7 sommets sont des troncatures de ce cube. Le nom générique des polyèdres est arb comme « arbitraire » (polyèdre convexe arbitraire, arbitrary convex polyhedron), suivi du nombre de sommets. On peut dire que :
* les tétraèdres sont des arb4 ;
* les pyramides à base quadrangulaire sont des arb5 ;
* les prismes à base triangulaire sont des arb6 ;
* les rhomboèdres, parallélépipèdes, parallélépipèdes rectangles et cubes sont des arb8.
Mais à l'exception de l'arb4, la réciproque n'est pas vraie pour les formes primitives créées par l'utilisateur ; par exemple, un arb6 n'est pas nécessairement un prisme, cela peut aussi être un octaèdre.

## Notes

Installer BRL-CAD < ↑ > Prototypage rapide avec Archer