=====================  CAD Program Version 1.1 =====================

                          TABLE OF CONTENTS


                      1.   Introduction
                      2.   Basics
                      3.   Loading Objects
                      4.   Saving Objects
                      5.   Editing Objects
                      6.   Loading Parameters
                      7.   Saving Parameters
                      8.   Editing Parameters
                      9.   Rotating on Menu Screen
                      10.  Full Screen Rotation
                      11.  .COB Data File
                      12.  Future Versions
                      13.  Source Code

   "Hey, I'm a programmer not a writer..." - Kris Carlgren 1993.

   "What bug?  That's a feature!" - Kris Carlgren 1993

== 1 - Introduction ================================================

This is the first version of this program to be put out as share-
ware.  There is still a lot to do, but I needed to get a workable
version out and going.  The program was originally written in Turbo
C 2.0, but was rewritten in Turbo Pascal 6.0 (It was faster).  The
program seems to run fine on an 80386 at 40Mhz.  Source code is
available (Look at the end of the document).

Certain features (a.k.a. bugs) were left to give people incentive to
order the source and fix them.



== 2 - Basics ======================================================

First we need a few definitions:

  Object - a 3 dimensional representation - an object contains
           points, lines, colors, and planes
  Params - short for parameters - contains how much to change the
           rotation, current rotation in degrees, coordinates by
           which to rotate object, displacement of object, and the
           perspective from which the object is seen

The menu system is very user friendly. You can use the mouse and
click on the buttons, or use the arrow keys and press enter for the
current selection.



== 3 - Loading Objects =============================================

The button for this option is located in the upper-left hand corner
of the main menu.  Once the button is pressed, a list-box with valid
objects pops up along with a few other options.

  List Box - Move the mouse cursor to the desired object and press the
    left button to select an object.  Click on the arrows to move the
    selection up and down as needed.

  Load Object - Once the desired object has been selected, click on
    this button to load it and return to main menu.

  Delete Object - Deletes the selected object.

  Search Object - Press this and type in the desired object to search
    for.  The closest object matching the text will be highlighted.

  Quit - Press this to return to the main menu.

Each time you load an object, the center of rotation and displacement
are recalculated.



== 4 - Saving Objects ==============================================

The button for this option is located in the middle-left hand part of
the main menu.  Once this is pressed, a query will be shown asking for
the name that you wish to save the current object in memory as.  Type
the name in and press <Enter>.



== 5 - Editing Objects =============================================

The button for this option is located in the lower-left hand part of
the main menu.  Once this is pressed, the Edit Object Screen will be
shown.

  Left List Box - This box is used for entering points.  Simply press
    the arrows with the mouse to move to list to the desired position.
    Click on the point you wish to change.  Enter the new coordinates
    using the keyboard and press <Enter> after each prompt.

  Right List Box - This box is used for entering lines.  The lines are
    connected between the points.  Use the arrows to move the list to
    the desired location.  Press on the line you wish to edit or add.
    Type in the starting and ending point for the line.  Enter the color
    of the line.  The colors can be changed when editing parameters. See
    section 8.

  Rotation Point - Click in this area to change the rotation point.

  End Edit - Located in the upper-left hand corner.  Press this to go
    back to the main menu.

       Special Note: You can not edit the planes on a filled object.
                     However, you can change the points.  There are
                     special cases which the fill routine does not
                     handle.  You may get some strange results.

Objects can also be edited in a regular text editor.  Look under
(11 - .COB Object File) for more information.



== 6 - Loading Parameters ==========================================

Exactly like loading objects.  Refer to (3 - Loading Objects).



== 7 - Saving Parameters ===========================================

Exactly like saving objects.  Refer to (4 - Saving Objects).



== 8 - Editing Parameters ==========================================

Press the lower, center button for this option.

  Upper box - this contains the parameters saved under *.def.

    Change in Degrees - this value is added to the current rotation
      for real time rotation.

    Current Rotation - the current angle in which the object is
      rotated.

    Rotation Coordinate 1 & 2 - A Z-rotation is simply a 2-Dimensional
      rotation.  The coordinates for the rotation are (X,Y).  Rotation
      coordinate 1 is X, and 2 is Y.

      For the X, 1 is the Y coordinate and 2 is the Z coordinate.
      For the Y, 1 is the X coordinate and 2 is the Z coordinate.

    Displacement - How much to move the object after the rotation
      is computed.

    Perspective Point - Allows you to define the point from which you
      percieve the object.  This is computed before the object is
      displaced.  This should be the center point of the object.

  Lower-Left Hand box - This is used to choose the color to be edited.
    Simply press the color and the box to the right shows what the
    color looks like.

  Lower-Right Hand box - This is used to edit the Red, Green, and Blue
    values for a color.  Simply use the mouse and press the arrows.

  End Edit - Located in the upper left-hand corner.  Press this to go
    back to the main menu.



== 9 - Rotating an Object===========================================

This will rotate the object in the lower left corner of the screen.
Follow the directions in the box to the right to get the desired
results.



== 10 - Full Screen Rotation =======================================

Just like 9 except the object is shown full screen.  Hit an invalid
key to get the help screen.



== 11 - .COB Object File ===========================================

COB stands for Cad OBject.  Objects are saved in a regular text file.
Most people prefer to edit objects with a regular text editor.  The
first line of COB file is a version number.  The second starts with
a number that specifies how to rotate the object.  2 is a normal
rotation.  All the following lines can occur in any order.

  Point -         P   real  real  real  integer
                       X     Y     Z     color

  Line  -         L   integer     integer   integer
                     Start Pnt    End Pnt    color

  Color -         C   integer     integer integer integer
                      Palette       Red    Green   Blue

  Side -          S  integer integer integer integer integer
                      Pnt1    Pnt2    Pnt3    Pnt4    color



== 12 - Future Versions ============================================

The interface for this program was developed about a year ago.  I've
now developed a multi-tasking interface that is windows-based.  This
allows you to rotate an object in one window, edit that same object
in another so changes appear instantly, and have another object being
ray-traced.  All this occurs at the same time.  Should I recieve a
good response on this program, I will finish the interface.

The new version will include:
  Ray-Tracing
  Visual Object Editor
  Fast Object Filling Routines
  Multitasking
  Project Editor - Allows you to combine several objects together
    and rotate them seperately, or together.



== 13 - Source Code ================================================

The source code for this program is being offered as follows:

  $10.00 - Just the CAD routines, and a simple program showing how
           to implement them.  The CAD routines use an array
           implementation so anyone can understand them.

  $40.00 - The most recent CAD program and entire source code.
           Includes:                  Ŀ
             CAD Routines (as above):  
                                       
           Plus:                       
             Text Routines               Much better deal!
             Graphic Routines          
             Mouse Routines            
             The User Interface        
             Source for ANICAD.EXE -   Ŀ
                  Comes with several hand coded routines that handle
                  ALL the graphics.  No .BGI stuff in this one.


Please fill out the order form below.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


[ ]  CAD Routines Only .............................. ($10) _________

[ ]  Entire Source Code ............................. ($40) _________


               Shipping & Handling .......................  __$2.00__


                                             Total enclosed _________


 Disk size:  5.25  -  3.5   <------ IMPORTANT!
                                       
 Density:    High  -  Double  -  Low <



          Name: _______________________________________________

       Address: _______________________________________________

  City, ST Zip: _______________________________________________

       Country: _United States______  Phone: __________________


Please pay with check or money order.  If you trust your mailman,
we'll even take cash.


Send To:
  Kris Carlgern
  P.O. Box  380674
  San Antonio, TX  78280
