g-vrml — Perform Boolean evaluations to produce a VRML version 2.0 file


g-vrml [-v ] [-d calc_dist_tol] [-a abs_tess_tol] [-n norm_tess_tol] [-r rel_tess_tol] [-x librt_debug_flag] [-X NMG_debug_flag] [-u units_name] [-o outfile] infile.g object(s)


g-vrml performs the Boolean operations specified in any regions in the specified object(s) and writes the resulting NMG objects to outfile or to stdout if the -o option is not used. The output is in VRML version 2.0 format. The -v option requests verbose output while the conversion is taking place. The -d option specifies a calculational distance tolerance (in millimeters). This tolerance is used to distinguish neighboring vertices. Any two vertices less than this tolerance distance apart will be considered the same vertex. The default value is 0.005mm. Prior to performing the Boolean operations for each region, the involved primitive solids are converted to a planar facetted approximation and stored as NMG solids. This tessellation can be controlled using the tessellation tolerances. The -a option may be used to specify an absolute tessellation tolerance (in millimeters). This requires that the maximum absolute error from the tessellated surface to the actual surface must not be greater than abs_tess_tol. The -n option specifies a surface normal error tolerance (in degrees) for the tessellation. The -r option may be used to set a relative error tolerance. This effectively sets an absolute tolerance for each primitive solid by multiplying the overall size of the solid by rel_tess_tol. The -x and -X options are used to set debug flags for librt and the NMG routines respectively. The definitions of these flags may be found in raytrace.h and nmg.h. The -u option can be used to set the units for the resulting VRML file (the default is mm). Any units name that MGED accepts will work here.

The -b option provides BOT dump, and the -e option provides evaluation of all CSG and BOTs. They are mutually exclusive.


$ g-vrml -o shell.wrl sample.g sample_object


Error messages are intended to be self-explanatory.




This software is Copyright (c) 1998-2016 by the United States Government as represented by U.S. Army Research Laboratory.


Reports of bugs or problems should be submitted via electronic mail to <>.