===================== 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 . == 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 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