BOT nged BRL-CAD BRL-CAD User Commands
bot Perform operations on a Bag of Triangles (BoT) primitive.
`bot` -v -V -C [0-255|0-255|0-255] subcommand subcommand arguments

  `check` degen_faces extra_edges flipped_edges open_edges solid objname
  `chull` input_bot output_bot
  `decimate` -f # -e # input_bot output_bot
  `extrude` input_bot output_bot
  `flip` objname
  `get` faces minEdge maxEdge orientation type vertices objname
  `isect` objname objname2
  `remesh` input_bot output_bot
  `set` orientation type objname value
  `smooth` -c [0|1|2] -d [0|1|2] -e # -E # -I # input_bot output_bot
  `split` objname
  `stat` objname
  `subd` -A [1|2|3|4|5] -l # input_bot output_bot
  `sync` objname

## DESCRIPTION

The `bot` command allows the user to initiate and number of subcommands on BoT primitives. The -v command turns on verbose output. The -V command visualizes the results. The -C command sets the RGB plotting color.

## SUBCOMMANDS

check

  Performs the requested check on the provided solid. Checks are degen_faces, extra_edges, flipped_edges, open_edges, or solid. The command will return a 1 (if the specified check finds an issue) or 0.

chull

  Generates the BoT's convex hull and store it in an object.

decimate

  Decimates the BoT. The default error metric is Quadric.

  `-f #`

    Specifies the features size (implies use of GCT decimater)

  `-e #`

    Specifies the maximum allowed error introduced by decimation (OpenMesh).

extrude

  Generates an ARB6 representation of the specified plate mode BoT object

flip

  Flips the BoT triangle normal directions (turns the BoT "inside out"). This will also change the handedness of of the BoT, if set. So a right-handed (counter-clockwise) BoT will become a left-handed (clockwise) BoT. An unoriented BoT's orientation will not change.

get

  Returns the requested parameter of the provided BoT solid. Valid parameters are faces, minEdge, maxEdge, orientation, type, or vertices.

isect

  Tests if the two provided BoTs intersect (work in progress).

remesh

  Creates a new meshed version of the provided object.

set

  Sets the specified property of the provided bot. Properties that can be set are orientation and type. Potential values for orientation are none (no), ccw (rh), or cw (lh). Potential values for type are surface, solid, plate, or plate_nocos.

smooth

  Smooths the BoT using OpenMesh's Jacobi Laplace smoother.

  `-c [0|1|2]`

    Specifies the continuity. The default value is 0, meaning shape is continuous, but not the tangent. A value of 1 means the shape and tangent are continuous, and a value of 2 preserves curvature.

  `-d [0|1|2]`

    Specifies the direction. The default is 0,smoothing in tangential direction. A value of 1 smooths in normal direction, and a value of 2 smooths in both tangential and normal directions.

  `-e #`

    Specifies the max local error.

  `-E #`

    Specifies the max absolute error.

  `-I #`

    Specifies the iterations for smoothing.

split

  Splits the provided BoT into separate BoTs made of disjointed sections.

stat

  Returns information about the provided BoT.

subd

  Subdivides the provided BoT.

  `-A [1|2|3|4|5]`

    Specifies the algorithm used to subdivide the BoT. The default is 1 which specifies the loop algorithm. A value of 2 specfies the sqrt3 algorithm, a value of 3 specifies the sqrt3 interpolating algorithm, a value of 4 specifies modified the butterfly algorithm, and a value of 5 specifies the midpoint alorithm.

  `-l #`

    Specifies the level of subdivision refinement iterations. Note that the number of triangles generated grows very rapidly with increasing iteration counts - it is recommended that users start with small refinements on the target bot to get a feel for the tradeoff between triangle count and smoothness.

sync

  Synchronizes connected BoT triangle orientations.

## EXAMPLES

Set the orientation of a BoT to right-hand

mged> `bot set orientation bot_solid.s rh`

Sets the orientation of solid bot_solid.s to right-handed (counter-clockwise).

Return the orientation of a solid.

mged> `bot get orientation bot_solid.s`

Returns the orientation of bot_solid.s. Note that this will return ccw (right-handed), cw (left-handed) or none (unoriented).

Return information of a solid.

mged> `bot stat bot_solid.s`

Returns information about bot_solid.s.

## AUTHOR

BRL-CAD Team

## BUG REPORTS

Reports of bugs or problems should be submitted via electronic mail to devs@brlcad.org