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