TR039: Mechanization of Spatial Reasoning for Automatic Pipe Layout Design