BOT(nged)
Perform operations on a Bag of Triangles (BoT) primitive.
β¨ BOT(nged) β¨
okay bestie, welcome to the BOT(nged) glow-up π
this is a page straight out of the BRL-CAD User Commands manual, and it's literally all about making a Bag of Triangles (BoT) primitive do your bidding. yes, triangles have feelings too, and this command is their group chat admin π«Ά
πΈ NAME πΈ
bot β it performs operations on a Bag of Triangles (BoT) primitive. that's the whole vibe π
π¦ SYNOPSIS π¦
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 is your main character moment for kicking off a whole bunch of subcommands on BoT primitives. no cap, that's the entire premise. β¨
π OPTIONS π
-h,βhelpβ prints help. the "help me help you" flag π-v,βverboseβ turns on verbose output. it's giving "tell me everything" energy, and we love that for us π¬-V,βvisualizeβ visualizes results when the picked subcommand supports it. only when supported, bestie β vibe check required π-C r/g/b,βcolor r/g/bβ sets the RGB plotting color that the visualization-oriented subcommands use π¨
π SUBCOMMANDS π
checkβ runs the check you ask for on the provided solid. your check options aredegen_faces,extra_edges,flipped_edges,open_edges, orsolid. the command returns a1if the specified check finds an issue, or0if you're golden β¨chullβ generates the BoT's convex hull and stores it in an object. glow-up by shrinking the wrapper, iconic πdecimateβ decimates the BoT. the default error metric is Quadric. lowkey destructive, highkey useful ππ-f #β specifies the features size, which implies use of the 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, aka turns the BoT "inside out". this will also change the handedness 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. not it flipping your whole geometry's whole personality πgetβ returns the requested parameter of the provided BoT solid. valid parameters arefaces,minEdge,maxEdge,orientation,type, orverticesπisectβ tests if the two provided BoTs intersect (work in progress). yes, that's the actual status β work in progress, so manage your expectations bestie πremeshβ creates a new meshed version of the provided object. fresh mesh, fresh me πsetβ sets the specified property of the provided bot. properties you can set areorientationandtype. potential values fororientationarenone(no),ccw(rh), orcw(lh). potential values fortypearesurface,solid,plate, orplate_nocosβsmoothβ smooths the BoT using OpenMesh's Jacobi Laplace smoother. glass skin but for triangles β¨-c [0|1|2]β specifies the continuity. the default value is0, meaning shape is continuous, but not the tangent. a value of1means the shape and tangent are continuous, and a value of2preserves curvature.-d [0|1|2]β specifies the direction. the default is0, smoothing in tangential direction. a value of1smooths in normal direction, and a value of2smooths 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. the friend group breakup arc πstatβ returns information about the provided BoT. the β¨statsβ¨ are statting πsubdβ subdivides the provided BoT π¦-A [1|2|3|4|5]β specifies the algorithm used to subdivide the BoT. the default is1, which specifies the loop algorithm. a value of2specfies the sqrt3 algorithm, a value of3specifies the sqrt3 interpolating algorithm, a value of4specifies modified the butterfly algorithm, and a value of5specifies 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.
bestie please hear me on this one π the triangle count goes feral fast. start small, feel out the tradeoff between triangle count and smoothness, and don't come for me when your mesh explodes into a million little slays π₯
syncβ synchronizes connected BoT triangle orientations. got your triangles all on the same page, fr fr π€
π§ EXAMPLES π§
Example 1. 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) π
Example 2. 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) β yes, you get the whole lore β¨
Example 3. Return information of a solid.
mged>bot stat bot_solid.s
returns information about bot_solid.s π
π AUTHOR π
BRL-CAD Team β icons, all of them π«Ά
π BUG REPORTS π
reports of bugs or problems should be submitted via electronic mail to devs@brlcad.org π§ don't be shy, if something's broken tell the girlies, they'll fix it π
and that's the page, bestie! brought to you by BRL-CAD and the BOT(nged) manual β go forth and make those triangles behave πΈππ¦
π¦ 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