EGADS2SRF Version 7.6

Authors

William M. Chan, Andrew M. Chuen, and Shishir A. Pandya

Date

January, 2026.

Description

This tool is used to generate discrete surface representations of IGES, STEP, and EGADS files containing BREP (Boundary Representation) solids using the EGADS Library from the open source Engineering Sketch Pad (ESP) software from MIT. Output files feed directly into the input files needed by the POGS automatic overset mesh generation tool.

The input geometry file should have a name like [geom].stp, [geom].igs, [geom].iges, or [geom].egads, where [geom] is the name of the geometry. Input and output file names assumed by egads2srf are based on a rootname, constructed by appending 3 digits to the geometry file base name [geom], e.g., rootname = [geom].001, [geom].002,... where the 3 digits corresponds to the solid id number in the geometry file. For a geometry file with one solid, the rootname would be geom.001.

Geometry defects described in EPOGS_Workflow.pdf could potentially affect the success on running EPOGS to completion or the quality of the resulting grids. If such defects are present, it is best to remove them prior to using EPOGS.

Users are highly encouraged to work through the EPOGS tutorial under chimera3.0/tutorials/epogs.

Input Files

Two input files are needed (see Typical Workflow section below on usage). An optional input file rootname.face can be used to specify fine control of grid parameters on each face. If the rootname.face file is absent, default values for the grid parameters for each face are auto-generated by egads2srf. If this file is present, grid parameters for each face in the file are used as input parameters for point distributions on each face.
   A sample gcomp data file with 3 components and 45 BREP faces is shown below:
   --------
   Fuselage
   12:20,32:41

   LeftWing
   21:31,42,44

   RightWing
   1:11,43,45
   ---------

Output Files

For each BREP solid body in the geometry (NFACE = number of faces, NEDGE = number of edges), the following files are generated. For cases with isym=11/12/13, the following half-body files are also generated. For all cases:

Usage


  egads2srf [-i ifile] [-b bodygen] [-isym sym] [-frm frmstring] 
            [-maxa maxang] [-maxc maxchord] [-maxe maxedge] [-maxsr srmax] [-npmin np]
            [-dswall dsw] [-stenqual sq] [-stop stoploc]
            [-smedge smalledge]  [-epst epstd] [-u units] [-scale scfac] [-c] [-r] [-help]

All arguments are optional except for ifile. If an argument is omitted, the defaults in the following table are used. A log file called "egads2srf.log" is automatically generated that contains the most recent command line arguments.

Argument Description Default
ifile input file containing geometry (igs or step) (not read)
bodygen Create tessellations for solid body number = bodygen only (for cases with multiple solid bodies) tessellate all bodies
sym Symmetry specification
  0       : no symmetry specified
  1/2/3   : geometry is a half body on the +x/+y/+z side;
 -1/-2/-3 : geometry is a half body on the -x/-y/-z side;
 11/12/13 : geometry is a full body symmetric about x=0/y=0/z=0
0
frmstring List of faces to remove from meshing domain (open geometry) e.g., 3,8,15:17
maxang Max allowed dihedral angle in degrees 5.0
maxchord Max allowed chordal deviation
 > 0  take value as input
 < 0  take absolute value times global bounding box diagonal arc length as input
-0.001
maxedge Max allowed arc length of triangle edge or structured mesh spacing
 > 0  take value as input
 < 0  take absolute value times global bounding box diagonal arc length as input
-0.025
np Minimum number of points in each direction in u, v tessellation 9
dsw Wall normal spacing for volume grids 1.0e-4
sq Fringe points with donor stencil stenqual quality below sq will be tagged as an orphan points (0.0 < sq <= 1.0) 1.0
stoploc Stopping location. Allowed options are:
 contents - Run in inquiry mode to report contents only (number of solids, faces, edges, nodes)
 faces - stop after writing guvo.sur to be used in construction of gcomp file
none specified
units Convert output grid files to different unit assuming input geometry has been interpreted in mm. Use this option only if egads2srf could not determine units from input geometry file (in/ft/m/cm) no conversion
scfac Scale all output grids (i.tri, .cur, .uvini) by scale factor scfac 1.0
smalledge Remove edges smaller than smalledge 0.0
epst Extend uv bounding box of triangles by epst * triangle bounding box diagonal (increase this parameter slightly to unblank more points on uv structured patches) 0.01
-c Run in inquiry mode to report contents only (number of solids, faces, edges, nodes)
-r Re-run using parameters stored in egads2srf.log

Typical Workflow

The typical egads2srf workflow is as follows.
  1. Given an input geometry file with filename = geom.stp, geom.igs, or geom.egads, examine the contents of this file by

    egads2srf -i filename -stop contents >! e.o

    Check that the file contains at least one solid. If more than one solid exists, generate the files for each solid in a separate directory using the "-b" option.

  2. Run egads2srf to write the faces to a file called guvo.sur (plot3d format)

    egads2srf -i filename -stop faces >! e.o

    Load guvo.sur into OVERGRID (or an equivalent visualizer) and construct the geometric components data file (.gcomp) in a text editor.

  3. Run egads2srf with the target global grid control parameters

     egads2srf -i filename [-isym sym] [-frm frmstring] 
             [-maxa maxang] [-maxc maxchord] [-maxe maxedge] [-maxsr srmax] [-npmin np]
             [-dswall dsw] [-stenqual sq] >! e.o 
    

    Examine the output .uvin and .i.tri files to determine if the mesh resolution is adequate. Adjust the global control parameters and rerun if needed.

  4. Look for potential geometry defects by examining the various outputs (see EPOGS_Workflow.pdf for more details). These may include
    • extremely small edges (see histogram of edge arc lengths in standard output e.o)
    • spurious nodes (see .uvin and .cur files in OVERGRID)
    • extremely small faces (see .uvin file in OVERGRID)

  5. Local component maximum grid spacings are automatically scaled relative to the global maximum grid spacings by a scale factor determined by the ratio of the component bounding box diagonal to the global bounding box diagonal. If more specific grid spacing control is needed, adjust the appropriate parameters in the auto-generated rootname.face file and rerun.

Last modified: Mon Apr 27 12:00:00 PDT 2026