The Assembly editor is the first thing you see when you start up the Material editor.

The main purpose of the Assembly editor is to assemble entities. Entities can be comprised of any number of models (meshes imported as *.mdl files),
particle emitters (*.par), beams, flares, collision models.

The Assembly is where all those elements come together to finalize the look of the object used in-game.

TOOLBAR

While the first and third part of the main toolbar always show the same controls, the middle section changes depending on what sub-editor is opened.

New assembly

clear Elements list

Load assembly

load existing assembly

Save assembly

save opened assembly

Save compressed assembly

save opened assembly as a compressed assembly file. This is encouraged when you're completely finished with an assembly.
Compressed (binary) files load a lot faster.

ASSEMBLY PROPERTIES

The panel has three distinct areas of importance:

COLLISION allows you to choose and apply a specific collision mesh to a model which naturally of great importance
for in-game physics and collision detection. Collision mesh has to be a *.mdl file (imported via the Material editor explained in a different section).

ELEMENTS list gives you an overview of all integral parts of an assembly, an entity. This shows all models, particles and beams used by the assembly.
To change position, rotation and scale of a any part of the assembly, select it on the Elements list and adjust the parameters below the list.

MODEL section provides editboxes to manipulate some aspects of an element (Position, Rotation, Scale). What options are functional, depends on the type of element selected.

To add an object to the assembly, right-click on the Elements list. This will open up a small context menu. Simply select the proper element type you wish to add.
To edit the object, select it on the Elements list and switch to the appropriate sub-editor (Model editor for models, Paticle editor for particles...)