|
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. Options -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. Formats: 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 removed -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)
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
off_align -F tet,1 icosa | antiview
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
off_align -F pri3,0,2 -y full cube | antiview
off_align -F pri3 -y full oct | antiview
Up:
Programs and Documentation
Next:
off_util - utilities for OFF files