An approach to modelling solid objects using a set of primitive solids (such as cubes, cylinders, and spheres). Instances of these are scaled, rotated, and translated, and then combined with the set operations union, difference, and intersection to define a more complex object.