Blitz World Assembler is a free tool for building outdoor and indoor worlds by placing meshes, shapes, and other objects in a 3d world.
Blitz World Assembler while it supports grid-based placement its main placement system is a snap to surface tool that works out how far an object should move away from a surface to be just resting of it.
Blitz World Assembler is designed for use with blitz basic games, if you don’t have it go to BlitzBasic for a free demo, it is a great programming language for games.