Difference between revisions of "MGED CMD nmg"

From BRL-CAD
(Proposed subcommands)
m
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
{{DesignDocument}}
 +
 
=nmg ''design'' =
 
=nmg ''design'' =
 
__TOC__
 
__TOC__
  
 
==Syntax==
 
==Syntax==
:nmg subcommand object [suffix]
+
:nmg object subcommand [suffix]
  
 
==Arguments==
 
==Arguments==
Line 21: Line 23:
 
:: Generates a manifold face in the first encountered shell of the NMG object. Vertices are listed as the ''suffix'' and define the winding-order of the face. Faces require at least three specified vertices, each specified by three coordinates. In addition to creating a face, the subcommand will join edges of the new face with dangling edges of other faces in the same shell. This makes it easier for the application to generate topologically correct, closed, manifold objects.
 
:: Generates a manifold face in the first encountered shell of the NMG object. Vertices are listed as the ''suffix'' and define the winding-order of the face. Faces require at least three specified vertices, each specified by three coordinates. In addition to creating a face, the subcommand will join edges of the new face with dangling edges of other faces in the same shell. This makes it easier for the application to generate topologically correct, closed, manifold objects.
  
==Proposed subcommands==
+
: '''kill V'''
 +
:: Removes the vertexuse and vertex geometry of the selected vertex (via its coordinates). When specifying vertex to be removed, user generally will display vertex coordinates in object via the MGED command [http://brlcad.org/wiki/MGED_CMD_labelvert labelvert]. '''Note: vertex selection via their index number is not currently supported.'''
 +
 
 +
::For example: 
 +
::: '''mged>''' labelvert myobj 
 +
::: '''mged>''' nmg myobj kill V 0.0 2.537 1.289
 +
 
 +
: '''kill F'''
 +
:: Removes the faceuse and face geometry of the selected face (via its index). When specifying the face to be removed, user generally will display face indices in object via the MGED command [http://brlcad.org/wiki/MGED_CMD_labelvert labelface].
 +
 
 +
::For example: 
 +
::: '''mged>''' labelface myobj 
 +
::: '''mged>''' nmg myobj kill F 14
 +
 
 +
: ''' move V ''' ''x_initial y_initial z_initial x_final y_final z_final''
 +
:: Moves an existing vertex specified by the coordinates ''x_initial y_initial z_initial'' to the position with coordinates ''x_final y_final z_final''.
 +
 
 +
::For example:
 +
::: '''mged>''' nmg myobject move V 1.0 1.0 1.0 2.0 2.0 2.0
  
 
: ''' make V ''' ''vertex-list''
 
: ''' make V ''' ''vertex-list''
:: Creates vertices in first encountered region and shell, using the ''vertex-list''. For example: nmg myobject create V 0 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 1 1
+
:: Creates a new vertex and shell for all vertices, using the ''vertex-list''.  
: ''' make F '''  
+
 
:: Creates faces in first encountered region and shell. First, assigns a distinct color to each vertex in the model and assigns a corresponding enumeration. Command returns lines for each vertex. The line format is: vertex # (selectable by user), and vertex color. The output line text color is the vertex color for that line. The geometry viewer labels all vertices in their colors, until a ''face-list'' is entered at the subsequent prompt for input.
+
::For example:  
 +
::: '''mged>''' nmg myobject make V 0 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 1 1
 +
 
 +
: ''' make F ''' ''face-list''
 +
:: Creates face(s) in first encountered region and shell. General usage is to first label vertices with their index number using [[MGED_CMD_labelvert#Proposed_Argument.28s.29 | labelvert -i]].
 
   
 
   
 
::For example:   
 
::For example:   
::: '''mged>''' nmg myobject create F
+
::: '''mged>''' labelvert -i myobject
::: '''mged>''' F 4 5 6 7 F 0 1 6 5 F 1 2 7 6 F 2 3 4 7 F 0 5 4 3
+
::: '''mged>''' nmg myobject make F 4 5 6 7 F 0 1 6 5 F 1 2 7 6 F 2 3 4 7 F 0 5 4 3  
: '''kill R'''
+
 
:: Removes the region and its geometry for the selected region. First, assigns a distinct color to each region in the model and assigns a corresponding enumeration. Command returns lines for each region. The line format is: region # (selectable by user), and region color. The output line text color is the region color for that line. The geometry viewer labels all regions in their colors, until the region is selected for removal at the subsequent prompt for input.
+
'''Note: index numbers may change after 'make F' command. Thus, execute labelvert witht the -i option before each use of 'make F'.'''
: '''kill S'''
 
:: Removes the shell and its geometry for the selected shell. First, assigns a distinct color to each shell in the model and assigns a corresponding enumeration. Command returns lines for each shell. The line format is: shell # (selectable by user), and shell color. The output line text color is the shell color for that line. The geometry viewer labels all shells in their colors, until the shell is selected for removal at the subsequent prompt for input. 
 
: '''kill F'''
 
:: Removes the faceuse and face geometry of the selected face. First, assigns a distinct color to each face in the model and assigns a corresponding enumeration. Command returns lines for each face. The line format is: face # (selectable by user), and face color. The output line text color is the face color for that line. The geometry viewer labels all faces in their colors, until the face is selected for removal at the subsequent prompt for input.
 
: '''kill V'''
 
:: Removes the vertexuse and vertex geometry of the selected vertex. First, assigns a distinct color to each vertex in the model and assigns a corresponding enumeration. Command returns lines for each vertex. The line format is: vertex # (selectable by user), and vertex color. The output line text color is the vertex color for that line. The geometry viewer labels all vertices in their colors, until the vertex is selected for removal at the subsequent prompt for input.
 
  
 
==Return Value(s)==
 
==Return Value(s)==
Line 52: Line 70:
 
-->
 
-->
  
: '''mged>''' nmg mm cube
+
: '''mged>''' nmg cube mm  
 
:: Creates an empty NMG object.
 
:: Creates an empty NMG object.
: '''mged>''' nmg cmface cube 0 0 0 0 1 0 1 1 0 1 0 0
+
: '''mged>''' nmg cube cmface 0 0 0 0 1 0 1 1 0 1 0 0
 
:: Creates 1st face of a six-sided cube.
 
:: Creates 1st face of a six-sided cube.
: '''mged>''' nmg cmface cube 1 0 1 0 0 1 0 1 1 1 1 1
+
: '''mged>''' nmg cube cmface 1 0 1 0 0 1 0 1 1 1 1 1
 
:: Creates 2nd face of a six-sided cube.
 
:: Creates 2nd face of a six-sided cube.
: '''mged>''' nmg cmface cube 0 0 0 0 1 0 0 1 1 0 0 1
+
: '''mged>''' nmg cube cmface 0 0 0 0 1 0 0 1 1 0 0 1
 
:: Creates 3rd face of a six-sided cube.
 
:: Creates 3rd face of a six-sided cube.
: '''mged>''' nmg cmface cube 0 1 0 1 1 0 1 1 1 0 1 1
+
: '''mged>''' nmg cube cmface 0 1 0 1 1 0 1 1 1 0 1 1
 
:: Creates 4th face of a six-sided cube.
 
:: Creates 4th face of a six-sided cube.
: '''mged>''' nmg cmface cube 1 1 0 1 0 0 1 0 1 1 1 1   
+
: '''mged>''' nmg cube cmface 1 1 0 1 0 0 1 0 1 1 1 1   
 
:: Creates 5th face of a six-sided cube.
 
:: Creates 5th face of a six-sided cube.
: '''mged>''' nmg cmface cube 0 0 0 0 0 1 1 0 1 1 0 0
+
: '''mged>''' nmg cube cmface 0 0 0 0 0 1 1 0 1 1 0 0
 
:: Creates 6th face of a six-sided cube.
 
:: Creates 6th face of a six-sided cube.
  

Latest revision as of 22:40, 22 August 2015

Design icon.png This page contains the design document for an enhancement or feature. The design should be considered a work in progress and may not represent the final design. As this is a collaborative design, contributions and participation from other developers and users is encouraged. Use the discussion page for providing comments and suggestions.


nmg design[edit]

Syntax[edit]

nmg object subcommand [suffix]

Arguments[edit]

object
Name for the primitive that you want to operate on.
subcommand
Command specified to alter an NMG object. Each has it's own set of arguments.

Subcommands[edit]

mm
Creates a new NMG model structure and fills the appropriate fields. The result is an empty model.
cmface
Generates a manifold face in the first encountered shell of the NMG object. Vertices are listed as the suffix and define the winding-order of the face. Faces require at least three specified vertices, each specified by three coordinates. In addition to creating a face, the subcommand will join edges of the new face with dangling edges of other faces in the same shell. This makes it easier for the application to generate topologically correct, closed, manifold objects.
kill V
Removes the vertexuse and vertex geometry of the selected vertex (via its coordinates). When specifying vertex to be removed, user generally will display vertex coordinates in object via the MGED command labelvert. Note: vertex selection via their index number is not currently supported.
For example:
mged> labelvert myobj
mged> nmg myobj kill V 0.0 2.537 1.289
kill F
Removes the faceuse and face geometry of the selected face (via its index). When specifying the face to be removed, user generally will display face indices in object via the MGED command labelface.
For example:
mged> labelface myobj
mged> nmg myobj kill F 14
move V x_initial y_initial z_initial x_final y_final z_final
Moves an existing vertex specified by the coordinates x_initial y_initial z_initial to the position with coordinates x_final y_final z_final.
For example:
mged> nmg myobject move V 1.0 1.0 1.0 2.0 2.0 2.0
make V vertex-list
Creates a new vertex and shell for all vertices, using the vertex-list.
For example:
mged> nmg myobject make V 0 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 1 1
make F face-list
Creates face(s) in first encountered region and shell. General usage is to first label vertices with their index number using labelvert -i.
For example:
mged> labelvert -i myobject
mged> nmg myobject make F 4 5 6 7 F 0 1 6 5 F 1 2 7 6 F 2 3 4 7 F 0 5 4 3

Note: index numbers may change after 'make F' command. Thus, execute labelvert witht the -i option before each use of 'make F'.

Return Value(s)[edit]

No Return Values for this command.

Description[edit]

The "nmg" command is a command for creating, adding geometry, and manipulating NMG objects in BRL-CAD. All operations are result in the addition of manifold geometry to the object.

Example(s)[edit]

mged> nmg cube mm
Creates an empty NMG object.
mged> nmg cube cmface 0 0 0 0 1 0 1 1 0 1 0 0
Creates 1st face of a six-sided cube.
mged> nmg cube cmface 1 0 1 0 0 1 0 1 1 1 1 1
Creates 2nd face of a six-sided cube.
mged> nmg cube cmface 0 0 0 0 1 0 0 1 1 0 0 1
Creates 3rd face of a six-sided cube.
mged> nmg cube cmface 0 1 0 1 1 0 1 1 1 0 1 1
Creates 4th face of a six-sided cube.
mged> nmg cube cmface 1 1 0 1 0 0 1 0 1 1 1 1
Creates 5th face of a six-sided cube.
mged> nmg cube cmface 0 0 0 0 0 1 1 0 1 1 0 0
Creates 6th face of a six-sided cube.

See Also[edit]

NMG Editing project idea page
put for use with NMG objects
brep command
Wikipedia article on polygon mesh