NMG(nged)
create and edit NMG (Non-Manifold Geometry) objects
π NMG(nged) π
BRL-CAD User Commands β¨
π NAME π
nmg β create and edit NMG (Non-Manifold Geometry) objects
πΈ SYNOPSIS πΈ
nmg object mm name
nmg object cmface x0 y0 z0 [x1 y1 z1 ...]
nmg object kill V x y z
nmg object kill F id
nmg object move V x_old y_old z_old x_new y_new z_new
nmg object make V x0 y0 z0 [x1 y1 z1 ...]
π DESCRIPTION π
Okay bestie, gather round: the nmg command is a dispatcher for creating and editing NMG (Non-Manifold Geometry) solid objects in the database. All invocations require an NMG object name as the first argument, followed by a subcommand.
The available subcommands are:
π
mm name
Creates a new, empty NMG model structure and stores it in the database as name. The resulting object contains a model with no regions, shells, faces, or vertices. It's giving blank canvas realness β¨
π¦ cmface x0 y0 z0 [x1 y1 z1 ...]
Creates a manifold face in the first shell of the NMG object. Each group of three coordinates defines one vertex of the face. At least three vertices (9 coordinate values) must be provided. Vertices are listed in the order that defines the face's winding direction (outward normal by the right-hand rule). The number of coordinate values after the object name must be a multiple of 3. Math check, bestie: groups of 3 only, no rogue leftovers π
π₯ kill V x y z
Removes the vertex at model-space coordinates (x, y, z) from the NMG object, along with its vertexuse, vertex geometry, and all higher-order topology that depends on it (edges, faces). Use labelvert to identify vertex coordinates before killing. Double-check those coords before you commit β this is a real delete, not a soft launch π«Ά
π kill F id
Removes the face with the given face index id from the NMG object, along with its faceuse and face geometry. Use labelface to display face index numbers before killing. Same energy: confirm the index first, then slay the face π₯
π§ move V x_old y_old z_old x_new y_new z_new
Moves an existing vertex from its current position (x_old, y_old, z_old) to the new position (x_new, y_new, z_new) in model space. Exactly six coordinate values are required. Use labelvert to identify vertex coordinates. Six values, no more, no less β the vibe check is strict here β¨
π make V x0 y0 z0 [x1 y1 z1 ...]
Creates one or more new vertices in the NMG object. Each group of three coordinates defines one new vertex. At least one vertex (3 coordinate values) must be provided; additional vertices may be specified in the same call. The number of coordinate values must be a multiple of 3. Go off, vertex factory π
π EXAMPLES π
Example 1. Create an empty NMG model
mged> nmg my_nmg.s mm my_nmg.s
Creates an empty NMG model named my_nmg.s in the database.
Example 2. Create a triangular face
mged> nmg my_nmg.s cmface 0 0 0 100 0 0 50 100 0
Adds a triangular manifold face to my_nmg.s with vertices at (0,0,0), (100,0,0), and (50,100,0).
Example 3. Move a vertex to a new position
mged> nmg my_nmg.s move V 50 100 0 50 150 25
Moves the vertex currently at (50, 100, 0) to the new position (50, 150, 25).
Example 4. Kill a face by index
mged> labelface my_nmg.s mged> nmg my_nmg.s kill F 2
First displays face index numbers with labelface, then removes face 2 from my_nmg.s.
π AUTHOR π
BRL-CAD Team
π BUG REPORTS π
Reports of bugs or problems should be submitted via electronic mail to devs@brlcad.org
That's the whole NMG(nged) page, bestie β footer source/version energy is BRL-CAD πβ¨, and the footer didn't show a date, so no invented date here π«Άπ¦
π¦ 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