
                                   HCADgs

                    Copywrite (c) 1990, Joseph A. Huwaldt
                    Documentation for Version 1.2  5/18/90


     HCADgs is a shareware 3-D computer aided design program.  It is useful in
viewing, rotating, and scaling 3-D objects.  With HCADgs you can linedraw,
rotate, scale and translate objects in three dimensions.  With the perspective
feature you can view objects as they appear in real life (larger nearer to you
and smaller farther away).  This is opposed to the standard isometric views
where distant objects appear the same size as nearer objects.  You can print 3-D
objects to any printer that your Apple IIgs supports (that you have drivers
for), including the Apple Imagewriter II, Apple LaserWriter, and standard Epson
printers.

     Please note that HCADgs is _Shareware_ and as such is NOT public domain or
freeware.  Details of the shareware agreement can be found below.



==>History

     HCADgs was originally conceived as HSKETCH on an Apple IIc in the heart of
Nebraska in 1984 or 85 (I don't remember for sure).  This 2-D high-res drawing
program won the National Ak-Sar-Ben (Nebraska spelled backward) programming
contest.
     After winning the contest I continued to modify the program (of course).
Somewhere along the line the name changed to HCAD.  HCAD was a 2-D drafting
program for the Apple IIc/IIe enhanced that had a drawing area of 512x184 pixels
where 256x92 were visible at any one time.  It sported a joystick or keyboard
drawing environment, windows (of sorts), a "choose from list" file selection,
and file packing.
     Now several years went by as I fought my way through college (Aerospace
Engineering, University of Kansas, Lawrence Kansas).  During this time I got my
Apple IIgs and learned to program in TML BASIC.  Well one thing led to another
and now you have a copy of what I have always dreamed of.  A cheap 3-D drawing
program for the Apple II.  HCADgs.

     Version 1.2:  This version repaired many bugs that were found in 1.0 soon
after its initial release.  The general flow and features of the program were
not altered.

     Future versions (if anyone sends me the shareware fee) will have the
following improvements:

Definately:     The ability to draw with the mouse as opposed to using the
               keyboard (if anyone wants, I could make a joystick version too
               I suppose).  Multiple objects that can be moved in relation to
               one another.  Rulers, gridlines, etc for measuring.  These
               things are relatively easy.

Probably:      Hidden line elimination, shading and reflection (If my plans
               for hidden line elimination work out, then the others will be
               simple).  A 320 graphic mode version that uses shades of any
               hue that you wish for shading.  Solid modeling.  Fee form
               curves, circles, cylinders, spheres, cones, etc.

Wish List:     High speed animated rotations (for now you will just have to
               purchase a Transwarp GS for that).



==>Using HCADgs

     HCADgs is not difficult to use.  It sports the standard graphic desktop
interface complete with pull down menus and all your favorite desk accessories.
When the program is initially opened it shows a blank screen with the x and y
coordinate axes visible.  The view angle is Rx = 0, Ry = 0, and Rz = 0 degrees.
The y axis is defined as positive downward, x is positive to the right, and z is
positive into the screen.  If you hold down the Apple (Command/Propeller) key
and press 4 you will move the drawing cursor (a small red dot) to the left
(negative x) direction 1 unit.  Whenever you use one of the drawing commands the
x,y,z position of the cursor will appear in the upper left hand area of the
drawing page.  The drawing keys make use of the numeric keypad for drawing as
follows:

                         -z  (7)   -y (8)    +z  (9)

                         -x  (4)             +x  (6)

                         +Ry (1)   +y (2)    +Rz (3)_

                         +Rx (0)

     Just play with the direction keys (make sure you hold down the Apple key)
and learn how the drawing cursor moves.  Press Apple-B to begin a line at some
x,y,z coordinate (initially the beginning will be set to 0,0,0).  Move the
cursor to the 3-D coordinate for the end of the line and press Apple-D.  The
line will then be drawn between these two points.
    You may use Cut (Apple-X) to remove the last drawn line and you may use
Paste (Apple-V) to replace the last cut line.  You may cut many lines in
sequence but you will only be able to paste back the last cut line!  Remember
that.  This is rather limited editing so look forward to better editing features
on future versions.
    You may rotate the object that you are drawing by pressing Apple-R.  You
will be asked to input the rotation angles in degrees.  For example you could
enter in the edit boxes 30     30     30.  This will rotate the object
(positively in a right handed system) 30 degrees about the x, y, and z axes all
at once.  This is a commonly used setting for view angle.  With the view set to
this angle you will still be able to draw, but now Apple-4 will move the cursor
diagonally upward and to the left.  This is because you have rotated the xy
plane that the cursor used to move in by 30 degrees.  This often leads to mass
confusion when drawing but you get used to it after a while.  I recommend that
you follow the x,y,z coordinate information in the corner of the screen to keep
track of where you are.  It is even kind of fun to learn to move the cursor
downward to the right when you press the negative y direction key. :)


==>Menu Explanations

   =>Edit
     Currently the only options available under the edit menu are CUT and PASTE.
You may Cut the last drawn line and remove it from the screen.  If you wish to
remove a whole series of lines you can repeat the Cut procedure and remove every
last drawn line until there are no lines left.  Beware:  You may Cut as many
lines as you wish, BUT you may only paste back the last drawn line!

   =>Scale
     Here you may enter the scale factor.  When the program is initially run the
scale factor is set to 1.  That is, one unit of length equals one pixel on the
screen.  If you move the cursor 1 space to the right it will move one pixel to
the right.  If the scale factor is set to 2 it will move 2 pixels to the right,
etc.  You may set the scale factor to any value from 1 to 500 or so.  That gets
pretty outlandish though since at most all you would ever see on the screen is 1
straight line.  Usually you will set the scale factor to something below 50.

   =>Rotation
     Under the rotation menu you will be able to enter in the angles by which
you view the object.  These angles are referenced to the original starting
coordinates of the program.  All angles are based on a right handed system (ie:
If you hold your right hand with thumb pointing positively down the axis of
interest, your fingers will curl around the axis in the direction of the
rotation).  If you are initially looking at an object with rotation angles
(0,0,0), and you enter a rotation angle of (0,0,30) the object should rotate
around clockwise on the screen.

   =>Draw
     This menu is where the keyboard commands for moving the cursor are found.
The use of the numeric keypad for moving the cursor is explained above. You may
also use the Goto option.  Here you may enter the 3-D coordinates that you wish
to move the drawing cursor to.  With this you may jump around in a drawing
rapidly if you know the relative 3-D coordinates.  This is often the case if
working from 2-D engineering figures.  You may use Begin Line... to set the
beginning of a line that you wish to draw, then move to the end of the line you
wish to draw and choose Draw Line...  This will draw in a line in 3 dimensions.

   =>HCAD
     This is a general all purpose menu.  A goodies menu if you wish.  Here you
may move the object around in 3-D space with relation to the origin (Translate)
or you may move the origin around in space relative to the screen (Move origin).
You may also turn on perspective mode here. Perspective mode will cause parts of
objects that are closer to you to appear larger and parts of objects that are
further away will appear smaller.  This does increase calculation and drawing
time though, so you may not want to have this option turned on at all times. You
will be able to draw with perspective mode in operation though.  Finally, you
may turn on or shut off the axes.  This will either show or remove the little
3-D axes that appear in the center of your drawing area when you initially start
the program.




==>Need Technical Help?

     If you encounter any problems with HCADgs or if you have any comments or
questions on the operation of HCADgs, then please feel free to contact me.  You
may write me at:
                         Joseph A. Huwaldt
                         314 BB Bristol Terrace
                         Lawrence, KS  66044

    I may be reached on America Online as "JA Huwaldt" or you may reach me at a
BBS that I frequent:  Sherwoods Forest -- (913) 842-5025.  On Sherwoods I am
known as "Benu".  This is the first place that you will find my latest greatest
programming feats as well.

    HCADgs is written entirely in TML BASIC.  This has often turned out to be a
feat in itself.  However, it turns out that TML is great for the number
crunching needed for this program.  (Hint: Don't use TML BASIC if you are going
to be manipulating a lot of string variables.  It is a mess.)  The source code
at this point is about 30k long and contains enumerous lines.
    If you have questions about programming in TML BASIC or if you have
questions about how I managed the graphics, then please get ahold of me.  I
would be pleased to help a fellow programmer if I could.  If I can't help you
directly I may be able to direct you to a source that could help you.


    Apple, ImageWriter II & LaserWriter are trademarks of Apple Computer Inc.
    TML BASIC is a registered trademark of TML Systems Inc.



==>ShareWare Information:

     HCADgs is a shareware program.  You may use this program on a trial basis
for 7 days.  If, after seven days, you are not pleased with HCADgs, then please
discontinue using it.  However, you may upload it to any BBS or information
system that you please and you may give as many copies to friends as you wish.
In fact I encourage you to do this in order that others may enjoy this program.
     If you are indeed pleased with HCADgs and would like to see more programs
developed for the Apple II series (including more engineering graphics programs)
then please send me the small fee that I request.

Here's the deal:

     $10 -- You will become a registered HCADgs user and will receive the
            latest version of HCADgs (and any other useful programs that I
            just happen to have hanging around).  And you will receive the
            next version of HCADgs free!  You will also be free to own any
            future versions of HCADgs that you ever encounter.

     $5  -- You will become a registered HCADgs user and will receive the
            latest version of HCADgs (and any other useful programs that I
            just happen to have hanging around).

     In both cases you will be supporting the development of useful software for
the Apple II series.  And if you pay the shareware fee, my family won't complain
so bad that I spend to much time programming and not enough time working at a
"real" job. :)

    Please send your shareware fee to:

         Joseph A. Huwaldt
         314 BB Bristol Terrace
         Lawrence, KS  66044

IMPORTANT:  Please include your real name, full address, and the program and
version number that you are registering (I have several).  I will then send you
the latest version of HCADgs as soon as possible.

Thank You for your support.

                                        Ad Astra,


                                        Joseph A. Huwaldt

