Note: The module suite came to the IAC as four modules in one directory: cabinet maker extruder grid_generator taperer Due to the current structure of the IAC's directories, this has been split into 4 separate directories on the site. However, a compressed tar archive of all 4 mods is included with each of the directories as wood_mod_suite.tar.Z. Also note that the images mentioned below have been stored a single time on the ftp site, in the directory at avs.ncsc.org called sample_data/avs_data/woodworking_images. AVS Woodworker's Module Suite This directory contains source codes, man pages, and sample data sets and networks for a set of four AVS modules which can be used to design simple woodworking projects. For more information on the purpose of the project, please read the file called "Poster_Session" and the man pages for each module. The four modules are: cm - cabinet maker - generates structures made of boxes taper - taperer - generates structures made of tapered boxes extruder - creates capped, extruded tubes from lists of X/Y pairs grid_gen - creates measured grids so that accurate models can be constructed Module and Source Files: Makefile - Makefile for all the modules in this directory cm.c - source code for the CABINET MAKER module cm.txt - man page for CABINET MAKER extruder.c - source code for EXTRUDER module extruder.txt - man page for EXTRUDER module grid_gen.c - source code for GRID_GENERATOR module grid_gen.txt - man page for GRID_GENERATOR module taper.c - source code for TAPERER module taper.txt - man page for TAPERER module circle.c - generates a circular PCF file for EXTRUDER ellipse.c - generates a semi-elliptical PCF file for EXTRUDER Examples: README - this file Poster_Session - text of the AVS93 Poster Session describing this project bed.net - sample network using all the modules bed.cabinet - CABINET MAKER input file (used by bed.net) head.pcf - EXTRUDER input file (used by bed.net) posts.taper - TAPERER input file (used by bed.net) music.cabinet - CABINET MAKER input file puzzle.cabinet - CABINET MAKER input file table.cabinet - CABINET MAKER input file table.net - sample network Texture Map Wood Images: oak.x.Z pine.x.Z plywood.x.Z walnut.x.Z wide_grain.x.Z NAME: cabinet maker - create models constructed of boxes AUTHOR: Larry Gelberg, Advanced Visual Systems, Inc. SUMMARY: Name cabinet maker Type Input Inputs NONE Outputs output - geom Parameters Name Type Default Min/Max/Choices board islider 0 0 50 active toggle off off on width typein_real 48.00 Unbounded height typein_real 8.00 Unbounded depth typein_real 0.75 Unbounded x typein_real 0.00 Unbounded y typein_real 0.00 Unbounded z typein_real 0.00 Unbounded rot x typein_real 0.00 Unbounded rot y typein_real 0.00 Unbounded rot z typein_real 0.00 Unbounded color radio_buttons white white:random:wood Board Feet text Source_File browser read_write radio_buttons write read:write DESCRIPTION: This module creates geometries which are collections of boxes. This is useful for simulating furniture since many types of furniture can be constructed out of rectilinear boards which can be represented as boxes. The basic way you construct a piece of furniture is to: (1) select a board number (2) turn it on by hitting the 'active' button (3) set its dimensions (4) set the translation and rotation values to position it properly (5) once all the boards have been specified, write out the file with a .cabinet suffix. This module has a number of features: * You can edit a .cabinet file and read the entire structure in. * There are several coloring options: white, random, and wood-like (pseudo-random colors restricted to woody hues) * UV normals are generated for supporting texture mapping * It computes board-feet based on the volume of all the active boards PARAMETERS: board (islider) This is the slider that selects which board you are currently editing. You can select up to 50 boards to edit. active (toggle) This is the toggle which is used to 'turn boards on' (activate them). To create a new board, you must first select a new board number and then 'activate' it. You can deactivate previously activated boards. width, height, depth (typein_real) The default board is 4 feet by 8 inches by 3/4 inch. However, each of the widths, heights, and depths can be individually specified on a per-board basis. x, y, z (typein_real) These are the translation factors added onto the lower, left hand, back corner of each board to position it in space. rot x, rot y, rot z (typein_real) These are the rotations which can be applied to each board to create angled boards. It may be useful, for instance, to describe a board as being 10x6x1 and then rotate 90 around Z rather than describing the board as being 6x10x1. color (choice of white:random:wood) When white, the object created can be colored using the property editor in the geom viewer. Otherwise colors are selected for each board. The 'random' choice produces dramatically different, non-natural colors. This is useful for seeing each board independently. The 'wood' option limits the randomly chosen colors to be 'wood-like'. Board Feet (text) Lumber is purchased in a quantity called Board Feet which is 12 inches by 12 inches by 1 inch of wood. By computing the volume of wood in a project (in cubic inches) and dividing by 144, the number of board-feet can be displayed. Typically, an additional 25% is added on to accommodate irregularities in the wood, layout problems, and mistakes. This is a 'display only' field and cannot be modified. Source_File (browser) This is a file browser which is used to specify which file the cabinet file should be written to or read from. read_write (radio_buttons) This toggle determines whether the Source_File browser is used to specify the file as one which will be written or read. OUTPUTS: There is only one output - a geom which is a single object containing all the boards specified by this instance of the module. EXAMPLE NETWORKS: cabinet_maker | geometry viewer SEE ALSO: This is one of a suite of four modules which have been developed to facilitate woodworking design. These modules are: CABINET MAKER TAPERER EXTRUDER GRID_GENERATOR The module TAPERER is nearly identical to CABINET MAKER except that you can specify a starting width and and ending width thus effecting a 'taper' The module EXTRUDER is used to create extruded, possibly capped, shapes from 'profile curve files' (X-Y coordinate lists) The module GRID_GENERATOR generates an English measurement grid with optional markings in feet, inches, and sub-inches. This is useful for validating the dimensions of the structure or taking measurments off a geometry.