solids file object(s)
SOLIDS(nged)
NAME
solids - write a full region and primitive parameter summary table to a file
On this page
SYNOPSIS
DESCRIPTION
The solids command traverses the hierarchy of one or more objects and writes a complete summary of all regions and their component primitives to file. The file is opened in write mode and overwritten if it already exists.
solids is one of four related commands that all share the same underlying logic but produce different levels of detail:
| Command | Output detail |
|---|---|
|
Region-level summary only: region count, ident, air code, material code, LOS, and path. No primitives listed. |
|
Region-level summary with the Boolean formula (member names and operators) for each region. |
|
Full summary down to primitives: same as |
|
Not a valid standalone command. Invoking |
Output format
The output file is a fixed-width text table. Each region entry includes the following fields in order:
-
Region count — sequential index of the region as encountered.
-
Region ID (
ident) — the region’s identifier number. -
Air code — air region code (0 if not an air region).
-
Material code (
GIFTmater) — GIFT material code. -
LOS — line-of-sight percentage (0–100).
-
Path — the full path from the listed object to the region.
-
Boolean members — the list of member primitives and Boolean operators forming the region. For each new primitive (one not yet seen earlier in the table at this transformation), the full primitive parameters are appended, with all transformation matrices along the path from the input object to the primitive applied (equivalent to the output of
listeval). Previously-seen primitive instances (same name and same accumulated matrix) are listed by number only, without repeating their parameters.
A header is written at the top of the file containing the command name, database filename, username, database title, units, and the list of objects processed.
After the table, a summary line is appended: Number Primitives = N Number Regions = N.
Primitive uniqueness and numbering
Each primitive instance is assigned a unique solid number in brackets (e.g. [3]). The same primitive is considered a new instance if its accumulated transformation matrix differs from a previous use — even if the name is the same. This allows detecting when the same primitive is placed multiple times at different positions or orientations. The uniqueness tracking uses a temporary file at /tmp/mged_discr.
Use showmats to view the actual accumulated transformation matrices along any given path.
EXAMPLES
mged> solids shapes_summary group1
Writes a complete region and primitive parameter summary for all regions reachable from group1 to shapes_summary. The result string reports how many primitives and regions were processed.
mged> solids report.txt assembly.c extra.r
Writes the solids table for all regions under assembly.c and for the specific region extra.r to report.txt.
SEE ALSO
idents(nged), regions(nged), listeval(nged), showmats(nged)
AUTHOR
BRL-CAD Team
BUG REPORTS
Reports of bugs or problems should be submitted via electronic mail to devs@brlcad.org