GEM4D Version 220.127.116.11 available for download
Updated: Apr 18, 2020
Version 18.104.22.168 is a major update with many functionality additions and significant upgrades to the graphics visualization:
The main functionalities added are; data contours, ERF and HR implementations, finger gesture support for a Tablet Mode, a CMS shape simplification method (which has been available for a while but was not very functional in previous versions).
Visualisation upgrades are; significantly faster iso-surface creation for large data-sets, and Z-sorted mesh transparency (which shows much clearer transparency of multiple meshes).
GEM4D can simplify the building of Map3D-models for many stoping geometries significantly. The resultant triangulations from GEM4D can be directly loaded into Map3D and are mostly error-free. Download a work procedure from here, also available from the GEM4D-website directly below the software download buttons.
Support for ERF-calculations on any plane orientation with "Ribbon => Mesh => Export files => Mesh info as CSV => Radius Factor (ERF) on grid plane" - see Discussion 1. Many thanks for your inputs with this function BB!
HR-calculations were added to the CSV-export of best-fit planes through line objects "Ribbon => Mesh => Export files => Mesh info as CSV => Best-fit discs an HR's of line objects".
Add support for contours on a plane by checking "Right panel => Clipping => Clipping widget => Show clipping widget" - see Discussion 2.
Create simplified meshes from CMS with "Top toolbar => Toolbox 2 (blue) => Simplify closed meshes" - see Discussion 3.
Add a Tablet Mode with support for on-screen finger multi-touch support with the toggle button "Top toolbar => TABLET". The support is only for GEM4D 64-bit version, as the 32-bit version will be discontinued during 2020.
Sub-sets of very large data files can be read with two new options: - "Ribbon => Marker => Load files => Extract data => Nth rows". - "Ribbon => Marker => Load files => Extract data => N random".
Add a function that shows the effectiveness of a seismic system with "Ribbon => Mesh => Export files => Mesh info as CSV => Seismic sensor visibility". A regular grid is created and the number of unobstructed views towards the seismic sensor locations counted for every grid point. The saved file can then be loaded as Markers, and the number of visible sensors iso-surfaced and contoured similar to any other data.
Iso-surfaces and contours can now be created directly from a loaded regular grid by checking "Left panel => Marker => Iso-surface and Colour mapping => Settings => Interpolation method => Use the data 'as-is' without interpolation".
Significant improvements in two main areas: - Iso-surface creation is now much faster for large data sets. - Mesh transparency now Z-sorted, which creates significantly clearer images. The downside is that edge anti-aliasing is lost, so let me know which trade-off is your preference - see Discussion 4.
Changes to the way poly-lines are saved as CSV-files. Column 1 is now used for the index and the last column removed.
Loaded image files for some OBJ-files caused issues - fixed.
Discussion 1: Calculate the Radius Factor (ERF) on a plane of any orientation
The clipping widget has been available for a while but was not used much in the past. This is changing in this version, as this widget is now central to some of the new functionalities, such as ERF calculations and displaying data contours (see Discussion 2).
Load a development or stope mesh and create a clipping thought the data at the desired orientation. The normal clipping options could be used, or the Clipping widget by checking "Right panel => Clipping => Clipping widget", and drag the plane edges with the mouse across the data bounds. The arrow on the plane can be used to rotate the plane orientation. Use "Full scene" and "Data only" to change the bounds of the clipping plane as shown in the Discussion 2 images.
Do the ERF-calculations with "Ribbon => Mesh => Export files => Mesh info as CSV => Radius Factor (ERF) on grid plane". This function creates a CSV-file with the required information but does not automatically load the file. Load the created file with "Ribbon => Marker => Load files => Text (CSV)".
When interpolating the values to the mesh, use "Left panel => Marker => Iso-surface and Colour mapping => Settings => Interpolation method => Nearest neighbour", and select an appropriate "Search radius"-value. For this application, the search radius should be larger than the distance between the data and mesh.
Be careful in the selection of the distance between the regular grid points, as a close spacing combined with a large mesh will take some time to solve (10 minutes or more in extreme cases).
Discussion 2: Show data contours on a plane
Data iso-surfaces and mesh colouring have been available in GEM4D from nearly the start, but contouring on a plane was not supported until now.
The clipping widget plane (see Discussion 1) is used to display data-contours when Marker-data is loaded, and either the "Left panel => Marker => Iso-surface and Colour mapping => Iso-surface" or "Colour meshes" checked. Check "Right panel => Clipping => Clipping widget" and use as described in Discussion 1.
Discussion 3: Simplify underground CMS meshes (for Map3D)
"Top toolbar => Toolbox 2 (blue) => Extract closed surface" has been available for years, but the initial version produced poor results. This function was rewritten and renamed as "Top toolbar => Toolbox 2 (blue) => Simplify closed meshes" and is now working well for most closed surface, such as underground stope CMS-files.
The input file can be a triangulation or points cloud. The process can be done on many CMS-files simultaneously and five output resolutions are available. The function was mainly developed to simplify meshes for Map3D, but is also useful to bring file sizes down. I will extend the function in future to create detailed meshes from points clouds as well.
Discussion 4: Mesh transparency improvements
The mesh transparency is now Z-sorted, which means the polygons are sorted from the camera (user) view, which creates significantly clearer images. The downside is that edge anti-aliasing is lost, see image below with the old version on the left and current version on the right. In the static images below, the left image seems sharper due to the edge anti-aliasing, but the benefit of the Z-sorting is most pronounced in the dynamic scenes when working with the information. Have a play and let me know which trade-off you prefer.