Space filling designs are central to studying complex systems in various areas of science. They are used for obtaining an overall understanding of the behaviour of the response over the input space, model construction and uncertainty quantification. In many applications a set of constraints are imposed over the inputs that result in a non-rectangular and sometimes non-convex input space. Many of the existing design construction techniques in the literature rely on a set of candidate points on the target space. Generating a sample on highly constrained regions can be a challenging task. We propose a sampling algorithm based on sequential Monte Carlo that is specifically designed to sample uniformly over constrained regions. In addition, a review of Monte Carlo based design algorithms is provided and the performance of the sampling algorithm as well as selected design methodology is illustrated via examples.