Increasingly, industrial robots are being programmed using advanced offline programming tools that can generate collision-free optimised motions. One of the critical requirements for offline programming is an accurately modelled environment. Generating this model can be labour intensive as measurements are manually taken and entered. 3D scanning tools can expedite this process by generating a point cloud that roboticists can use to measure the dimensions of obstacles digitally. Point clouds generated by 3D scanning tools are not well suited to robot motion planning due to their complexity. However, algorithms that generate a simplified model from a point cloud exist and improve collision detection performance. This paper presents an algorithm for converting a point cloud model into an efficient collision model for robot programming. Our algorithm handles noisy data sets and point clouds missing data caused by shadowing. The generated model is a collection of spheres, which performs well in collision detection during motion planning.