This paper presents the multi-objective evolutionary optimization of three-dimensional geometry represented via constructive solid geometry (CSG), a binary tree of boolean operations of solid primitives. NSGA-II is extended for binary tree chromosomes with customized crossover and mutation operators tailored for the evolution of CSG trees and applied for two-objective shape optimization of indoor modular space truss joints. The results show success in generating a variety of shapes over the Pareto front. A selection of Pareto-optimal shapes are manufactured using a solid freeform fabrication process.