Das Ziel von BOLTS ist es, eine freie und quelloffene Standardteilebibliothek aufzubauen, die nicht an eine spezifische CAD Applikation gebunden ist. Aus diesem Grund sind alle Daten, die nötig sind, um die Teile zur Verfügung zu stellen, auf eine bestimmte Weise strukturiert: Es gibt backendunabhängige und backendspezifische Daten, wobei Backend die verschiedenen CAD Applikationen bezeichnet (bisher FreeCAD und OpenSCAD). Weil man diese Unterscheidung macht, muss man lediglich zusätzliche backendspezifische Daten hinzufügen, um ein Teil, das für ein Programm verfügbar ist, auch auf einem Anderen zur Verfügung zu stellen.
Sehr häufig gibt es mehrere ähnliche oder gar identische Standards für ein Teil, die von verschiedenen Standardisierungsorganen herausgegeben wurden. Aus diesem Grund bietet BOLTS das Konzept einer Klasse von Teilen, wobei eine Klasse mehrere identische Standards beschreiben kann. Um eine Klasse zu spezifizieren, muss man die Informationen über die verschiedenen Abmessungen der Teile, Tabllen mit deren Werten, eine Beschreibung, die Standards, die diese Klasse abdeckt, Zeichnungen und ähnliches spezifizieren. Im Gegensatz dazu wird die Geometrie des Teils für verschiedene CAD Programme auf unterschiedliche Art und Weise beschrieben und gehört daher zu den backendspezifischen Daten.
BOLTS hat noch eine weitere Organisationsebene, die Kollektion. Eine Kollektion enthält mehrere Klassen, damit ähnliche, aber nicht identische Klassen zusammen gruppiert werden können. Die Informationen über die Klassen einer Kollektion sind in einer blt Datei abgelegt.
Zusätzlich sind Daten über die 3D Representation eines Teils in einem CAD Programm nötig. Für OpenSCAD werden Moduldefinitionen in einer .scad Datei oder eine STL Datei verwendet, für FreeCAD eine Python Funktion oder eine .fcstd Datei mit dem Modell. Diese werden als Basismodule, Basisfunktionen, Basis fcstd Dateien bezeichnet, oder allgemeiner als Basisgeometrien. Zusammen mit einer .base Datei, die Metadaten enthält, bilden diese die backendspezifischen Daten.
Sehr häufig können mehrere Klassen die gleiche Basisgeometrie verwenden. Zum Beispiel kennt BOLTS etwa 18 Standards für Unterlagsscheiben. Diese werden von 5 unterschiedlichen Klassen abgedeckt, die lediglich 2 verschiedene Basisgeometrien benötigen.
Ein Bild sagt mehr als tausend Worte. Die zwei Blöcke auf der linken Seite (Standards und Klassen) sind backendunabhängig. Der backendspezifische Teil umfasst lediglich 2 Basisgeometrien für jedes Programm:
Um nochmal zusammenzufassen: