Difference between revisions of "MGED CMD nmg"

From BRL-CAD
(Subcommands(s))
m
 
(28 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(s)==
+
==Arguments==
  
 
: '''object'''
 
: '''object'''
Line 13: Line 15:
 
:: Command specified to alter an NMG object. Each has it's own set of arguments.
 
:: Command specified to alter an NMG object. Each has it's own set of arguments.
  
==Subcommands(s)==
+
==Subcommands==
  
 
: '''mm'''
 
: '''mm'''
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(s)==
+
: '''kill V'''
: '''sface'''
+
:: 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.'''
:: Selects a face by highlighting it. Subsequent commands for manipulation or removal act on the selected face. By repeating this call, the currently selected face is advanced to the next face in the NMG object of the first encountered shell and region. ''If an (optional) point is specified, the subcommand finds the closest face to the point and selects that face instead.''
+
 
: '''deselect'''
+
::For example: 
:: Deselects all prior selected parts of the nmg object.   
+
::: '''mged>''' labelvert myobj 
: '''kface'''
+
::: '''mged>''' nmg myobj kill V 0.0 2.537 1.289
:: Removes the geometry and faceuse of the currently selected face.
+
 
 +
: '''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''
 +
:: 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 [[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
 +
 
 +
'''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)==
 
==Return Value(s)==
 
: No Return Values for this command.
 
: No Return Values for this command.
 
  
 
==Description==
 
==Description==
Line 38: Line 66:
 
==Example(s)==
 
==Example(s)==
 
<!--
 
<!--
: '''mged&gt;''' brep obj.brep info F 0
 
:: Output information for the 0th face of obj.brep.
 
: '''mged&gt;''' brep obj.brep plot S 0-2
 
:: Plot the 0th to 2nd surfaces of obj.brep.
 
: '''mged&gt;''' brep sph1.brep intersect sph2.brep 0 0
 
:: Intersect sph1.brep's 0th surface with sph2.brep's 0th surface. (When there's no intersection type specified, we compute SS intersections)
 
 
: '''mged&gt;''' brep obj.s obj.brep
 
: '''mged&gt;''' brep obj.s obj.brep
 
:: Convert implicit primitive obj.s to BREP form named obj.brep.
 
:: Convert implicit primitive obj.s to BREP form named obj.brep.
 
-->
 
-->
 +
 +
: '''mged&gt;''' nmg cube mm
 +
:: Creates an empty NMG object.
 +
: '''mged&gt;''' nmg cube cmface 0 0 0 0 1 0 1 1 0 1 0 0
 +
:: Creates 1st face of a six-sided cube.
 +
: '''mged&gt;''' nmg cube cmface 1 0 1 0 0 1 0 1 1 1 1 1
 +
:: Creates 2nd face of a six-sided cube.
 +
: '''mged&gt;''' nmg cube cmface 0 0 0 0 1 0 0 1 1 0 0 1
 +
:: Creates 3rd face of a six-sided cube.
 +
: '''mged&gt;''' nmg cube cmface 0 1 0 1 1 0 1 1 1 0 1 1
 +
:: Creates 4th face of a six-sided cube.
 +
: '''mged&gt;''' nmg cube cmface 1 1 0 1 0 0 1 0 1 1 1 1 
 +
:: Creates 5th face of a six-sided cube.
 +
: '''mged&gt;''' 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==
 
==See Also==
 +
: [http://brlcad.org/wiki/NMG_Editing NMG Editing] project idea page
 
: [http://brlcad.org/wiki/NMG put] for use with NMG objects
 
: [http://brlcad.org/wiki/NMG put] for use with NMG objects
: [http://brlcad.org/wiki/MGED_CMD_brep brep]
+
: [http://brlcad.org/wiki/MGED_CMD_brep brep] command
 +
: Wikipedia article on [https://en.wikipedia.org/wiki/Polygon_mesh polygon mesh]

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