Additive manufacturing processes have the potential to change the way we produce everyday objects. Design for additive manufacturing focuses on dealing with the characteristics and constraints of a given additive process. These constraints include both geometric and material constraints which have a major impact on the feasibility, quality and cost of the printed object. When designing for additive manufacturing, one of the desirable objectives is to reduce the amount of material while maximising the strength of the printed part. For this, the inclusion of cellular structures in the design has been an efficient way to address these constraints while supporting other application-specific requirements. These structures, which are commonly inspired by shapes found in nature, provide high strength while maintaining a low mass. In this paper we propose the adaptive voids algorithm, an automatic approach to generate, given a volume boundary, a parameterised adaptive infill primal and/or dual cellular structure for additive manufacturing. The produced output can potentially be applied in various applications, including design and engineering, architecture, clothing and protective equipment, furniture and biomedical applications. [ABSTRACT FROM AUTHOR]