Difference between revisions of "MGED CMD nmg"

From BRL-CAD
(Proposed subcommands)
m
 
(6 intermediate revisions by the same user not shown)
Line 24: Line 24:
  
 
: '''kill V'''
 
: '''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].
+
:: 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:   
 
::For example:   
Line 37: Line 37:
 
::: '''mged>''' nmg myobj kill F 14
 
::: '''mged>''' nmg myobj kill F 14
  
==Proposed subcommands==
+
: ''' move V ''' ''x_initial y_initial z_initial x_final y_final z_final''
: ''' make F '''  
+
:: 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''.  
:: Creates face(s) in first encountered region and shell. General usage is to label vertices with their index number using labelvertid (not labelvert which labels vertices with their coordinates instead).  
+
 
+
::For example:  
::For example:
+
::: '''mged>''' nmg myobject move V 1.0 1.0 1.0 2.0 2.0 2.0
::: '''mged>''' labelvertid 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
 
  
 
: ''' make V ''' ''vertex-list''
 
: ''' make V ''' ''vertex-list''
:: Creates vertices in first encountered region and shell, using the ''vertex-list''.  
+
:: Creates a new vertex and shell for all vertices, using the ''vertex-list''.  
  
 
::For example:  
 
::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
 
::: '''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
  
: ''' move V ''' ''x_initial y_initial z_initial x_final y_final z_final''
+
: ''' make F ''' ''face-list''
:: 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''.
+
:: 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: 
 +
::: '''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
  
::For example:
+
'''Note: index numbers may change after 'make F' command. Thus, execute labelvert witht the -i option before each use of 'make F'.'''
::: '''mged>''' nmg myobject move V 1.0 1.0 1.0 2.0 2.0 2.0
 
  
 
==Return Value(s)==
 
==Return Value(s)==

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