Following on from the GEOVIA Innovation Webinar on conditioning CMS surveys, which i presented, this blog post builds on the webinar content to summarize the functions used to condition solids. It also contains a link to the macro’s that were demonstrated in the webinar.
A common problem that underground surveyors have is how to post process their CMS surveys to make them valid. I have travelled to many sites and seen many different ways of doing this, but the problem remains that some of these CMS surveys are difficult to validate in a timely manner.
Since the release of Mesh Tools in Surpac a couple of years ago, two functions have been utilised to produce conditioned solids easily. (Conditioned solids being those that have an even point distribution) These functions are:
1. Simplify
2. Expand/Contract
The simplify function looks at all the triangles and will try to reduce the triangle density without modifying the original shape too much. There is an aggressiveness slider bar that can decimate a lot of triangles, however if you run simplify multiple times on the lowest aggression setting, the result is usually great.
Run multiple times on the lowest setting as below.
Once the simplification is done, we can use the expand/contract function to “condition” the object. The algorithm in this function will attempt to break all triangles into equilateral triangles. If performed successfully, it opens the door to easily run downstream functions such as Intersections, Outersections and Unions.
The macros (Which can be downloaded here) loop these functions for you and also allow you to loop over many files in one go. If you have 100 CMS surveys to condition, just put them all in one folder and let the macro do the work. If the macro fails to condition any objects, they will be reported to the message window at the end. Simply run the macro again on those objects and increase the simplify level and 99% of the time they will condition.
Change the simplify level to 5 or 6 to condition objects that fail on level 3
The macros are not compiled, so if you want to reverse engineer them to see how they work, go for it.
______________________________________