MOVE_ARB_FACE(nged)

move an arb's face through pt

πŸ“… published 7.44.0, from nixpkgs unstable

πŸ’… MOVE_ARB_FACE β€” the nged glow-up for your ARB's face ✨

okay so bestie, welcome to move_arb_face, a nged command, and honestly? it's giving geometry makeover montage πŸŽ€

🌸 NAME 🌸

move_arb_face β€” move an arb's face through pt πŸ’«

✨ SYNOPSIS ✨

move_arb_face [-r] arb face "x y z"

πŸ¦‹ DESCRIPTION πŸ¦‹

So here's the vibe: move_arb_face moves one specified face of an ARB (that's an Arbitrary Rectangular Box solid, iykyk) so that the face passes through the point you hand it. And the way it does that?? The face gets translated parallel to itself β€” the plane's normal direction stays exactly where it is, and literally only the plane's distance constant gets updated (that's D in the equation Nβ‹…P = D, no cap). After that, the other vertices of the ARB get recomputed so the whole ARB shape stays intact. iconic behavior honestly πŸ‘‘

The point comes in as a quoted, space-separated "x y z" triple, in local units. And the arb argument? It can be a full database path (like comb/sub/arb.s for example) β€” the object at the end of the path is the one that gets used, and the path's transformation matrix gets applied. slay πŸ’…

Face indices are 1-based, and the valid range depends on which ARB type you're working with. No table energy here, just the list:

  • ARB4 β€” valid face indices are 1–4
  • ARB5 β€” valid face indices are 1–5
  • ARB6 β€” valid face indices are 1–5
  • ARB7 β€” valid face indices are 1–5
  • ARB8 β€” valid face indices are 1–6
🚨 bestie, please check your ARB type before you pick a face index β€” the ranges are not all the same and I'm not about to let you get got by an out-of-range face.

πŸŽ€ Options πŸŽ€

  • -r β€” Relative mode, bestie. Treats the point you give as an offset from the current position of the face's first vertex, instead of as an absolute model-space coordinate. That offset gets added to the existing vertex before the plane equation is updated. 🫢

πŸ”₯ EXAMPLES πŸ”₯

Example 1. Move face 1 of an ARB8 to an absolute point ⭐

mged> move_arb_face arb8.s 1 "0 0 50"

This moves face 1 of arb8.s so the plane of that face passes through model point (0, 0, 50) in local units. The face slides parallel to itself and the ARB vertices get updated accordingly. clean, simple, ate πŸ’–

Example 2. Move a face by a relative offset 🌈

mged> move_arb_face -r arb8.s 3 "5 0 0"

This one shifts face 3 of arb8.s by 5 local units along X, relative to the face's current first-vertex position. the -r is doing all the work here, honestly πŸ’€βœ¨

πŸ‘‘ AUTHOR πŸ‘‘

BRL-CAD Team β€” legends, fr fr 🫢

πŸ’€ BUG REPORTS πŸ’€

Found a bug? A problem? Something acting sus? Reports of bugs or problems should be submitted via electronic mail to devs@brlcad.org πŸ“§ don't be shy, they wanna know πŸ™ˆ


and that's the whole page, bestie β€” brought to you by the BRL-CAD docs for MOVE_ARB_FACE(nged). go move some faces, you absolute main character πŸ’œβœ¨πŸŽ€

πŸ“¦ where this page comes from