Boolean operations in computer-aided design