off_align - alignment of OFF files
Usage: off_align [options] [input_file]
Read a base file and brick file in OFF format, and use vertices or faces
to position the brick with respect to the base. The brick may be repeated
symmetrically and/or merged with the base. If input_file is not given the
program reads from standard input.
-h,--help this help message (run 'off_util -H help' for general help)
--version version information
-v <arg> align by vertices, arg is a comma separated list of a brick
geometry (if empty use base) optionally followed by 'r' (reverse
brick orientation) followed by two, four or six points given as
the vertex index number in the OFF files (starting at 0). The base
points are all given first and then the brick points.
u1,v1 - point alignment
translation u1-v1 (so v1 of brick moves to u1 of base)
u1,u2,v1,v2 - line alignment
point alignment as above followed by rotation through
u1 perpendicular to u1u2 and v1v2 to align u1u2 and v1v2.
u1,u2,u3,v1,v2,v3 - face alignment
line alignment as above followed by a rotation
around u1,u2 so v3 lies in plane of u1u2u3.
-f <arg> align by face index, arg is a comma separated list of a brick
geometry (if empty use base) followed by up to three numbers
separated by commas: base face index, brick face index
(default: 0), polygon alignment selection number (default: 0)
-F <arg> align and combine polyhedra by face index, arg is a comma
separated list of a brick geometry (if empty use base) followed
by up to three numbers: base face index, brick face index
(default: 0), polygon alignment selection number (default: 0).
Brick is after base, bond vertices are merged, bond faces are
-M <val> merge parts, select and order parts in the output, val may be:
default (0): any combined part (-F) followed by any brick
parts (-v, -f)
brick (1): brick parts only
base_brick (2): base part, possibly combined (-F). followed
any brick parts (-v, -f)
brick_base (3): brick parts (-v, -f), followed by base part
-y <sub> repeat bricks according to symmetry of base. sub is symmetry
subgroup (Schoenflies notation) or 'full' optionally followed
by a ',' and conjugation type (integer)
-o <file> write output to file (default: write to standard output)
off_align examples with images.
Bond vertices 0,2,4 of an octahedron brick to vertices 0,1,2 of a
tetrahedron base, and output both parts in the order brick (octahedron)
followed by base (tetrahedron)
off_align -M brick_base -v oct,0,1,2,0,2,4 tet | antiview
Augment face 1 of an icosahedron, making a polyhedron with 22 faces
off_align -F tet,1 icosa | antiview
This can be used to build larger structures using polyhedra
When using -F the specified faces are deleted from the
output. Faces in the base polyhderon that come after the bonding
face will have their index numbers decreased by one in the output.
When aligning models into a collection one at a time with repeated
calls of off_align, -M brick_base will preserve the brick index
numbers (useful for a helix), and -M base_brick will preserve
the base index numbers (useful to add new parts to the same base).
Parts aligned to have coincident faces (in pairs) can have these faces
removed later with off_util -M b.
Options -f and -F must take an option argument. If the
argument should be empty then give the argument as a comma ','.
This will indicate that the brick geometry is empty (use the base geometry
for the brick) and all following parameters are defaults.
For -f and -v, option -y repeats the aligned
brick with the specified symmetry group. For -F, -y selects a
face set on the base model to bond to, and there is only one bond for each of
these faces. If the aligned brick model is not fixed by the same symmetry
subgroup that fixes the bond face (i.e. maps it onto itself),
then the final model won't have the symmetry given in -y.
Here is an example aligning the side of a triangular prism with a cube
face, the result has Oh symmetry
off_align -f pri3,0,2 -y full cube | antiview
And the same example using bonding, the warning is triggered and the
result does not have Oh symmetry
off_align -F pri3,0,2 -y full cube | antiview
Sometimes the warning will be redundant
off_align -F pri3 -y full oct | antiview
Models with coincident vertices will have those vertices merged when
using option -F.
off_util - utilities for OFF files
Programs and Documentation