SOLIDS(nged)
write a full region and primitive parameter summary table to a file
π NAME
Okay bestie, welcome to the SOLIDS(nged) page from the BRL-CAD User Commands manual β this one is all about writing a full region and primitive parameter summary table to a file. β¨
β¨ SYNOPSIS
solids file object(s)
π 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 β so yeah, no cap, it will replace what's already there. π
solids is one of four related commands that all share the same underlying logic but produce different levels of detail:
identsβ Region-level summary only: region count, ident, air code, material code, LOS, and path. No primitives listed.regionsβ Region-level summary with the Boolean formula (member names and operators) for each region.solidsβ Full summary down to primitives: same asregions, plus the evaluated parameters of each primitive shape with accumulated transformation matrices applied.tablesβ Not a valid standalone command. Invokingtablesdirectly returns an input error. Use one of the three specific commands above.
π 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 (
0if 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
Example 1. Write a full solids summary for a group
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. π«Ά
Example 2. Include a specific region alongside a group
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.
Cute little sign-off: source/version is BRL-CAD, manual is SOLIDS(nged), and the footer didn't give us a date β mwah, periodt π
π¦ where this page comes from
- nixpkgs unstable: brlcad 7.44.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms