escad is a platform for programmatic computer-aided design. It includes a 3D modeler, which allows one to create parametric 3D models by writing code. It is comprised of many parts, the primary of which are:

None of the above parts include any support for 3D modeling. This is by design — escad is use-case agnostic. The 3D modeling library is completely separate, and is optional.

escad has been designed and written to be very extensible; users can extend escad's functionality arbitrarily (e.g. adding support for 2D modeling, data analysis, or physics simulation) without modifying any of escad's internal logic.