Open RogCAD main page in a new window

Instructions for ROGCAD for DOS
                                                     

The following document also serves as the
foundation for learning RogCAD for Windows:

Instructions for ROGCAD version 2.5.                 Illustrations 
(Low resolution DOS version)                        
                                                     Sketch labeling
This document is both a reference guide              Simple wireframe
and a tutorial.                                      Autocube diagram
                                                     Stringing autocubes 
CONTENTS:                                            Transformations
                                                     Pre-transformation
                                                     Skewing autocubes 
                                                     Rotate and translate
Introduction                                         Simple pavillion
                                                     Curves planes
                                                     Curves painting 
PART I                                               Curves logic  
                                                     Curve Test default
Introduction to data entry                           Curve modified
                                                     Reserved
Beginning a project, 2D sketch                       Reserved
                                                     Reserved      
The User Editing Area (part 1)                       Reserved 
     Standard points data entry                      Reserved
     Lines data entry
     Saving your data file
     Default view & default palette assignment

YOU HAVE JUST COMPLETED YOUR 
FIRST PROJECT.  TO SEE IT,
Run RogCAD

Main menu
     G (calling data groups)
     A (moving around your object with arrow keys)
     CV (change view)
     SH (shift drawing)
     CH (change color)
     EN (go to enhance menu)
     CLS (clear the screen)
     QT (quit RogCAD)

Labeling your sketches (part 1)

Sample wireframe output

The User Editing Area (part 2)
     Autocubes data entry
     Planes data entry

Labeling your sketches (part 2)

Enhance menu
     Q (Quick plane)
     K (K plane)
     J (J plane)
     P (Plane)
     C  (Cross hatch)
     F  (Framing lines)
     L  (Line)
     A  (Add point)
     CH (Change color)
     V  (View p/f/m)
     SC (Screen capture)
     SS (Screen set)
     SP (Save palette)
     GP (Get palette)
     Qt (Quit)

The User Editing Area (part 3)
     Wirecolors assignment
     Palette editing
     Transformations

PART II

Automatic surface modeling

Complex curved surfaces

Analytical tools



Tips
     Tip 1:   Plan views
     Tip 2:   Virtual resolution
     Tip 3:   Units of measure
     Tip 4:   Go inside the object
     Tip 5:   Partially colored plane
     Tip 6:   Combine autocube point with standard
     Tip 7:   Triangular planes
     Tip 8:   On screen data building
     Tip 9:   Dummy data
            
Crazy output

Printing a graphics screen

RogCAD for Windows



Introduction

Keep all the files in the folders they came in except where
instructed otherwise.  The rogcad25 folder must be a primary
subfolder of your C directory  (c:\rogcad25).

You should print out copies of s-.txt and ax3-.txt (found in
the "empties" folder and refer to them as you read the 
following instructions.  You can print them out using Notepad.
It will also be useful to print out these instructions.

(You can bypass Windows altogether and run everything straight
from DOS, with the exception of this html document, which
requires a browser if you wish to display this document's
image files within this document.)

Before running RogCAD, you should create a shortcut to it.
Rogcad25.exe is found in the "nonuser" folder.  Right click
on rogcad25.exe, then select "create shortcut".  Move that 
shortcut to the "data" folder.  Now you will never have 
to enter the "nonuser" folder again.  That folder contains
only binary files and those files could become corrupted if 
opened.

Your work with RogCAD will involve just two folders:
"empties" and "data".  Within the data folder, you'll want
to create subfolders named as you see fit for storing data
files for projects that are not current.  RogCAD does not
allow you to name data files other than with the strict
numbering system described further down.  This is why only
data files from the current project should be in the data
folder (outside of the subfolders); otherwise you'll end up
with a lot of unrelated data files with similar looking 
names in your working folder.  (The Windows version of 
RogCAD lets you name files in any manner.)

Leave all the files in the "empties" folder intact.  But
it works well to place copies of them in the "data" folder.  
Then you can work exclusively out of the data folder, if you
don't mind a bit more clutter in that folder.

I can't imagine using Windows in the browser mode (the single
window mode) at any time, certainly not when using RogCAD.
Windows 95 users - select view, then options, then seperate
windows.  Windows 98 users - select view, then folder options,
then classic style.


Introduction to Data Entry

This is a keyboard based CAD program.  Rather than using the 
mouse to drag and click building elements into existance, you 
type in values for your three-dimensional object using x,y,z 
coordinates.  You thus build a data base for your project. 

RogCAD is not running while you enter your data.  You 
simply type your data into a text file using Notepad,
then you run RogCAD.  RogCAD will read your data and display
an image as defined by your data.

There are several ways of building the data base for your
project:

 1. Enter data into the s-.txt data file.  S stands for 
    standard.  This data file (a text file) has a place
    for you to type in xyz coordinates on a point by point
    basis, a place to type in point numbers to define lines,
    a place to type in point numbers to define planes, and 
    various places to type in information pertaining to 
    transformations you might wish to perform on select 
    sections of your data base.

    It also contains places to type in autocube information.
    Autocubes require xyz coordinates for just two points
    diagonally opposite each other for the proposed cubic 
    element.  The program automatically assigns the 
    coordinates of the other six points, as well as the 
    connecting lines and planes.  This is your workhorse 
    for most project building.

    This gives RogCAD the information it needs to display 
    a wireframe model and (with your assistance) a surfaced 
    model of your project on screen.  

    There is also a place to type in some additional 
    information about planes that enable RogCAD to 
    automatically generate a surfaced model of your project
    with correct colors, shading for light direction and
    and lines representing siding boards, bricks, shingles,
    deck boards, etc.  We'll refer to this as the auto-
    surfacing routine.

 2. Enter data into the a-.txt data file.  A stands for
    autocube.  This text file is reserved for autocube-only
    data.

 3. Enter data into the a(x,y,z)(n)-.txt files.  A again
    stands for autocube.  X, y or z indicate the direction for 
    stringing together autocubes, and n here represents either
    3,4,6 or 8.

    In the x case, ax3-.txt gives you three places (three 
    starting points) for specifying a string of autocubes
    (repeated copies in the x direction) and a place 
    to enter traditional single autocube information.

    Ax4-.txt gives you four places for a string of autocubes
    and no single autocubes.

    Ax6.-.txt gives you six places for a string of autocubes
    and one place for single autocubes.

    Ax8-.txt gives you eight places for a string of autocubes
    and no traditional single autocubes.

    These types of files are used to generate rows of 
    windows, framing member boards, spindles, steps, or
    any other type of repeatable object.

    Both the single and "string of" autocube text files
    also include places for auto-surfacing information.

 4. Enter data for curved surfaces into text files
    by the name of cx-.txt, cy-.txt or cz-.txt.  Curved
    surfaces are not covered by the auto-surfacing routine,
    but are none the less quickly modeled in surfaced form 
    by the user at run time.


Each of these data text files constitute a type of "group"
(a "data group").  (You are allowed 10,000 data groups for 
each type of group, though you will never use more than
a handful of any one type for a single project.  Valid
group numbers are 0 to 9999.  This is the number that
follows the dash in the name of the data text file.)

  RogCAD makes extensive use of this group concept.  
  It's original purpose was for overcoming memory 
  limitations imposed by DOS - only one group needs 
  to be in memory at a time, even though all groups 
  can be displayed simultaneously.  Additionally, it 
  facilitates automatic surface modeling using a simple 
  algorithm. (Automatic surface modeling is performed on 
  just one group at a time, though unlimited numbers of 
  groups can be displayed together.)

After data has been entered into one or more of these 
text files, they are renamed according to strict rules
and then placed into the "data" folder.

If you're working in Windows, use Notepad to open and edit
the data text files.  If you're working in DOS, Edit.com
is good.

To open a text file using Windows, just double click on it
and Notepad will open it.
    
RogCAD is then run by double clicking on the shortcut
to rogcad25.exe you created earlier.


Get started

Even though you'll be using the much faster "autocube" 
method to build virtually all of your design elements,
it's important to start with the basic "points and lines"
method to get a ground-up understanding of RogCAD.

The first step when building a RogCAD project is to sketch
out your plan in 2D form, with the x and y directions
labeled:

(Even though you'll find that the "auto-surfacing" routine
will virtually eliminate any need to refer to your 
reference sketch, it's good practice for beginners to 
make a clearly labeled reference sketch.)



Ten data points (vertices of a simple house) have been
labeled.  Simple 2D sketches, sometimes in plan view,
sometimes in elevation, suffice for many projects.  But
crude 3D sketches for labeling points is also frequently
helpful.

To enter the data for this sample project, open s-.txt 
(found in the "empties" folder) then immediately save it 
to the "data" folder (using "save as") as s-1.txt before 
you forget. 


The RogCAD 2.5 editing section header for s-.txt

*********  THE USER EDITING AREA  *******************


WIRECOLORS      Edit colors for wireframe line groups.
STANDARD        Edit data for standard points.
LINES           Edit data for point-pair lines.
AUTOPLANE       Edit data for planes.
AUTOCUBES       Edit data for autocubes. 
AUTOFRAMING     Edit data for framing lines.
TRANSFORM       Edit singles, resize, rotate, translate.


The first user editing section in s-.txt is for wireframe
colors.  RogCAD allows you to break your wireframe model
into as many as seven color groups.  You can leave these 
set at their default values for now.


Standard points

Next is the STANDARD section.  The x, y and z coordinates 
which you specify on a point by point basis are called the 
STANDARD points.  

The data entry for our simple house follows.  First, 
notice the initial appearance of the STANDARD section:

STANDARD:
999  999,999,999      

After entering data for the simple house,
the STANDARD section looks like this:

STANDARD:             
1    0,0,0                 
2    0,0,8                 
3    0,30,0                
4    0,30,8   
5    20,30,0    
6    20,30,8    
7    20,0,0     
8    20,0,8   
9    10,0,12    
10   10,30,12		            
999  999,999,999      

Note:  Never add line spaces or any other lines of text 
between STANDARD and 999 other than your data.  This is 
true for all other RogCAD data entry areas as well.  
 
The first point in this example (x,y,z = 0,0,0) 
is point number 1.  

The last data line in the above example contains values that
tell the program that it has reached the end of a data
segment, in this case it's the end of the point data.
(When the program reads x=999 y=999 z=999, it knows to move
on to the next data segment.)

Notice that a comma or a space (or multiple spaces, or a comma
and space/spaces) separates each bit of information in the data 
lines.  It is important that there be no comma at the end of a 
data line.  It is also important that there be no line spaces 
between STANDARD: and 999 other than your data.  You can rely 
on just spaces, just commas, or use a style like the one above.

Always start your point "line labels" at 1 and don't skip
any numbers.  You can create dummy points as needed during
subsequent editing sessions to avoid renumbering already
assigned points.


Point-pair lines data

The data points in the above example are the vertices of a very 
simple house-shaped object.  But we are not yet ready to run the
program.  First we must specify lines to connect these points.
Any point not connected to another will not be recognized by the
program.  A sample data segment containing point-pair line data 
follows.  You enter the following data below LINEG1: in the LINES 
section:

LINEG1:
1,2    3,4,    5,6,    7,8,    1,3
3,5,   5,7,    7,1,    2,4,    4,6
6,8,   8,2,    8,9,    9,2     6,10
10,4,  9,10
999,999

The numbers above are point numbers.  They are the ten point 
numbers which were defined in the STANDARD data segment above.
Also note that the dummy point-pair 999,999 tells the program
to stop reading from this line group.

Now, in this example, I connected more points than necessary.  
The following would also have enabled the program to recognize
all the data points:

LINEG1:
1,2,    3,4,    5,6,    7,8,    9,10
999,999

The only difference is that when the latter example runs, it 
will not display the full wireframe model of the object, only 
those five point-pair lines of the latter example.  The program 
runs a bit faster and there is less time spent entering data, 
but you'll find that it takes very little extra time entering 
all the point-pair lines for your object, and the program still 
runs plenty fast.  It's well worth the little extra effort to 
have a nice well defined wireframe model on screen. 

Notice that in the two preceeding examples, there is no 
numbering system used for the point-pair lines.  This is 
because there is no need for the user to keep track of 
point-pair lines as part of a numbering system.  Keep the 
columns precisely lined up for easy trouble-shooting and 
editing.  


Save your data file

At this point, you should select "save" from the file menu
to save this file as s-1.txt in its current form.  Make sure
it's in the data folder.

This project is now ready for display on screen.  But
first, you should learn about editing a file named
start.txt.  You will find it in the "empties" folder.
It has two sections for editing: default view and 
default palette.

First, you must copy the start.txt file to the "data"
folder.


Default view and default palette

Then edit the DEFAULTVIEW section of the copy of start.txt 
in the data folder so that it looks like this:

DEFAULTVIEW:
   90, 65, 30,   5, 10, 1,     1.5


This gives you a Perspective point of x=90, y=65, z=30,
a Focal point of x=5, y=10, z=1, and a Magnification
of 1.5.  

During the construction and analysis phase of building your
project, it is typically useful to edit the default view
quite often.  It's nice to have the correct vantage point
upon startup, rather than having to monkey with view
changes at run time.  You'll find yourself switching back
and forth between 3 or 4 different default views during the
construction phase.  For this reason, I always store the 
noncurrent default views at the bottom of start.txt.  I paste
them back into the correct place as needed. 

Edit the DEFAULTPAL section so that it looks like this:

DEFAULTPAL:
"GRAY"

RogCAD automatically adds the .pal extension, so be sure
to not type in the extension.  GRAY.PAL will be called
by RogCAD at run time.  (All filenames are limited to 
eight characters, not including the extension.)

Now select "save" from the file menu to save start.txt
in its current form in the data folder.

The program is now ready to run in its simplest form.  



Run the program by double clicking on your shortcut to
rogcad25.exe.

X and Y orientation arrows appear.  They are part of a
special hidden data group.  Once you clear them from the 
screen, they don't reappear until you restart RogCAD. 

  (But the data for these are included in a file named
  s-0.txt in the RogCAD samples folder.  Place that file 
  in your data folder and call it to refresh the 
  orientation arrows.  You can paste this data, along with
  any modifications you wish to make, into any data
  file.)
  


Along with the orientation  arrows,
The main menu appears:


  G   A   CV   SH   CH   EN   CLS   QT

(not case sensitive)


G:   is for group.  Type G (enter).  You're prompted for data
     type, then group number for that type.  Example:  For the
     simple house, we type S for data type, then 1 for group 
     number, because we are calling the data from s-1.txt.

     Multiple groups can be displayed.  Typically, projects
     are best built using multiple groups, such as:
  
       east windows,
       south windows,
       west windows,
       north windows,
       exterior shell,
       porch structure.

     One group is in memory (active) at a time.  All operations 
     are performed only on the active group.  (Except for 
     reorientations of the model.  Even though you only see
     the active group moving about on screen, the inactive
     groups are automatically updated as well.)  

To display the simple house of s-1.txt, type G (enter),
then S (enter), then 1 (enter).  The simple house now
appears along with the orientation arrows. 

 

CLS: Clears the graphics portion of the screen.  The background 
     color will change to whatever background color you've 
     specified in the data file for the active group.  The same 
     thing happens when you use the A (arrows) routine or the 
     "change view" routine.
       

A:   This routine lets you, the viewer, move laterally in the 
     X or Y direction or vertically in the Z direction.  Type
     A, then enter.  Type P, F, or M.  Type X, Y, or Z.  Enter
     a value for increment (typically an integer such as 10 or
     20 when changing perspective and typically a decimal number
     such as .1 or .03 when changing magnification), then press
     enter.  For smoother movements, use smaller numbers. 

     You use the up and down arrow keys to increase or decrease
     values for X, Y, Z or magnification.

     Stop your X or Y perspective movement when the drawing is
     at about a 45 degree angle.  At that point, switch to X if
     you are currently in Y, or to Y if currently in X. 
     Similarly, when ascending vertically in Z, you'll need to
     switch to X or Y at some point if you wish to fly over the
     object.

     Pressing E will allow you to move backwards through these
     options.  This is how you switch modes.  If you keep 
     pressing E you will get back to the main menu.

     When you first press an arrow key to enact movement, all
     displayed groups except for the active group dissappear
     from the screen.  After reorienting your model to your
     satisfaction, you can recall the other data groups.  They
     appear, properly reoriented.  The same applies to CV and
     SH below.


CV:  Lets you re-enter perspective, focus and magnification.


SH:  Lets you shift the drawing horizontally or vertically.  
     Increment is in screen pixels.  A screen is 640 by 480.
     This does not affect the perspective or focal point and
     is rarely used and not generally recommended for 
     achieving realistic views.  It's usually better to shift 
     your model by changing your focal point. Do this by using 
     CV or by selecting F in arrows routine.


CH:  Lets you change a color.  Use the arrow keys.  The "previous
     color" feature is very useful.  Press E to return to the
     main menu.
 
     Enter 999 to use the graduated shades routine.  Pay close
     attention to the prompts.  You must start with a lower
     numbered color than you end with.  The color numbering
     scheme is 1 - 15, with 1 at the top.  When entering the 
     RGB (red green blue) values, you must start with the 
     higher number.  Valid numbers for RGB are 0 - 63.
     (63 is lightest, 0 is darkest.)


EN:  Sends you to the Enhance menu.  This is where you can 
     turn your wireframe model into a surfaced model.  But it's 
     only useful if plane data was entered into your data
     file.  (We didn't do that yet.)


QT:  Quits the program.


 
Sketch labeling

You'll need to make well labeled 2D and possibly 3D crude
sketches of your object(s).  What needs to be labeled are the
point numbers, plane numbers and autocube numbers.  We haven't
covered those last two items yet.  First, let's look at a
sketch of our example house:






(Look at the data files s-8.txt and s-9.txt in the 
samples folder to see the data entry for the above 
sketches.)


Autocubes

I've added door and windows (lower sketch).  I've also given 
the walls thickness, making inner and outer wall surfaces.  
But notice that on the upper sketch I've labeled all the 
points individually, and on the lower sketch I've mostly 
just labeled "autocubes".  You'll notice in the autocube
data text files (a-.txt, ax3-.txt ... etc) that autocubes
are grouped into blocks of ten or twenty, with 80 autocubes
per data file.  You can enter anywhere from one to nine, or
one to nineteen autocubes per block (depending on block
size).  It's okay to skip over blocks (leave empty).  When
not using a block, you must leave the zero's in that block
as placeholders.  Refer to the example data file a-9.txt for 
single autocube entry, and to the example data file ax8-9.txt 
for stringed autocube entry (which will be covered later).  
These data files are in the samples folder.

Don't worry about rot or col (default values of 0,0) for now.  
These stand for rotation index and color, values needed by the 
automatic surface modeling routine, covered later.

Autocubes have the  advantage of  requiring you to enter only 
two points to define them,  even though they consist of eight 
points,  and have the further advantage of not  requiring the 
user to specify point-pair lines or planes.  Lines and planes 
are automatically assigned.   You can use the autocube method 
whenever an object is  rectangular and is  squared  away with 
the xyz coordinate system.
 
(NOTE:    You can use the TRANSFORMATION routines (which are
included in every data text file) to rotate, translate, resize 
and deform autocubes.  This allows you to use Autocube to 
quickly generate rectangular objects, then rotate them into 
odd angles.  These routines help you to build libraries of 
objects for use in multiple projects.    See the 
TRANSFORMATION section further down in this document.)

The following sketch  shows how autocubes are oriented in the
xyz coordinate system:





Refer to a-9.txt and ax8-9.txt in the samples folder to see 
how autocube data is entered.  Notice that an autocube is  
defined by entering the minimum value of x, the minimum value 
of y, and the minimum value of z as point 1 of the autocube. 
Max x, max y, and max z are entered as point 6.  Notice that 
point 6 is diagonally opposite point 1.   Refer back to the 
sketch of an  autocube higher on this page.   Now, really the  
points for autocubes range from 1 to 798 per data group (except
in an s-.txt data group, where autocube points start at 401). 
Autocube number 0 consists of points 1,2,3,4,5,6,7,8.  (9 and
10 are not used.)  Autocube 0 consists of plane numbers 1,2,3,
4,5,6.  (7,8,9,10 are not used.)  Autocube number 40 consists 
of points  401,402,403,404,405,406,407,408.  (409 and 410 are 
not used.)  Autocube 40 consists of plane numbers 401,402,403,
404,405,406.  (Planes 407, 408, 409 and 410 are not used.)  
This scheme is used all the way through autocube number 79, 
which consists of points 791,792,793,794,795,796,797,798 and 
planes 791,792,793,794,795,796.

So, you see, you need only label autocube numbers 0, 1,
2, .... 56, 57, .... etc on your crude sketch.  Just 
keep a little autocube orientation sketch handy to refer 
to as needed for plane and point assignment information.

Single autocubes can be entered into the following data text
files:  s-.txt, a-.txt, ax3-.txt, ax6-.txt
                        ay3-.txt, ay6-.txt
                        az3-.txt, az6-.txt

Strings of autocubes can be entered into the following data
text files: ax3-.txt, ax4-.txt, ax6-.txt, ax8-.txt
            ay3-.txt, ay4-.txt, ay6-.txt, ay8-.txt
            az3-.txt, az4-.txt, az6-.txt, az8-.txt

Here is a data entry sample for single autocubes using s-.txt:
----------------------------------------------------------------
AUTOCUBE60:
601  20,30,0        23,40,20       0,4
611  25,30,0        28,40,20       0,4
621  30,30,0        33,40,20       0,4
631  35,30,0        38,40,20       0,4
641  40,30,0        43,40,20       0,4
651  45,30,0        48,40,20       0,4
661  50,30,0        53,40,20       0,4
671  55,30,0        58,40,20       0,4
681  60,30,0        63,40,20       0,4
691  65,30,0        68,40,20       0,4
701  70,30,0        73,40,20       0,4
711  75,30,0        78,40,20       0,4
721  80,30,0        83,40,20       0,4
731  85,30,0        88,40,20       0,4
741  90,30,0        93,40,20       0,4
999  999,999,999,   999,999,999,   0,4
----------------------------------------------------------------

Above is the data entry for cube numbers 60 through 74, creating
a string of autocubes.

Here is a simpler method, using ax3-.txt:

----------------------------------------------------------------
x1,y1,z1,         x6,y6,z6,          spacing,   endcube,   rot,col
                                               (21 - 39)   
AUTOCUBE20:
20,30,0          23,40,20              5           34        0,4
----------------------------------------------------------------

Above is the data entry for a string of autocubes beginning
with autocube number 20 and ending with autocube number 34.
(ax3-40 in the samples folder.)

Both methods produce the following output:





Planes data

For planes other than autocube, you define them in the same 
manner as you defined point-pair lines earlier.  You simply
specify four points.  You do not need to define planes in
order for the program to display a wireframe model of your
data group.  Just define whatever planes you wish to.  
Although the plane routine works regardless of the order in 
which you specify the four points of the plane, it's 
strongly recommended that they be specified using the 
following pattern:



Following this pattern will allow you to make use of the
k-plane and j-plane routines, which are described later.  

(Triangular shapes can be treated just like four sided
shapes when it comes to defining planes.  You simply 
repeat one of the vertices.  It's as if one side of a four 
sided polygon had length zero.)

You enter your plane data in the AUTOPLANE section of s-.txt.
You keep track of plane numbers just like you keep track of 
point numbers in the STANDARD point section - by using line
labels.  Start with line label (plane number) 1, and don't
skip any numbers.  You can create dummy planes as needed
during subsequent editing sessions to avoid having to 
renumber any already assigned plane numbers.

Example:
-------------
AUTOPLANE:
   1    1,3,5,7,          0,0
   2    2,4,6,8,          0,0
   3    11,13,15,17,      0,0
   4    12,14,16,18,      0,0
   999  999,999,999,999,  0,0
-------------
contains plane numbers 1, 2, 3 and 4.

The final two values in each line are for primary orientation 
of the plane and for color.  These are used to make the plane 
ready for the automatic surface modeling routine.  That subject 
is covered later.


Sketch labeling, part two

You'll need to make well labeled 2D and possibly 3D crude
sketches of your object(s).  What needs to be labeled are the
point numbers, plane numbers and autocube numbers. 

The biggest challenge is in labeling your sketches in
a tidy manner.  You'll soon develop shorthand methods
that you'll find make it easier.  Using colored pencils
to differentiate between autocube, point and 
plane numbers is useful.  I sometimes just circle one
type of number, and make little squares around another.

Typically, once you have your plane data entered, you
won't have much more need of your sketch with the point
numbers labeled.  So it's usually a good idea to have
a seperate sketch or set of sketches with only plane
numbers and autocube numbers, since that is the primary
information needed to turn your wireframe model into
a surfaced rendering.  Of course, various situations come
up that require you to refer to point numbers, such as
when adding shingles, or when you've overlooked defining
a plane.  So keep everything handy.  


Enhance mode

The reason you need to know point and plane numbers is that
you'll need to supply that information when you manually 
turn your wireframe model into a surfaced model in the Enhance 
mode.  (You also need this information to fine tune anything
that the auto-surfacing routine failed to model, since the auto-
surfacing routine is often only 95% effective for various complex
objects.)

Typically, before going to the Enhance mode, you use the 
A (arrows) routine (under the main menu) to fine tune the 
view that you wish to turn into a surfaced rendering.

Let's take a look at the Enhance menu.  When at the main 
menu, type en, then press enter.  The Enhance menu appears:


H-S   G   H1 HP P1 PP  q k j p SQ SK SJ c f l a SS SC CV V CH  QT

(Not case sensitive.  Type the letter(s), then hit enter.)


H-S: Enter H or S for hide or show.  (See next entry.)

G:   Groups

     When you go to the enhance menu, whatever data group
     was last active at the main menu is still active.
     You change groups in the enhance mode just as you 
     did in the main mode (see above).  However, in the 
     enhance mode, you control whether the wireframe 
     modeling reappears for a given data group by toggling 
     the H-S (Hide-Show) switch.  A reminder of what data
     group is active appears on the enhance menu.  The
     functions you call from the enhance menu operate
     only on the data group which is active.  You can
     also type CLS at the enhance menu to clear the
     display.  Toggle the H-S switch to Hide before
     using the auto-surfacing routine.


CLS: (Not shown on the menu.)  Clears the graphics portion 
     of the screen.  The background color will change to 
     whatever background color you've specified in the data 
     file for the active group.  


Q:   Enter Q, then type the plane number.  This is for manually
     coloring planes.  Type the color number (from the chart on 
     the left).  In time, you'll get good at coloring the planes 
     in the right order.  If you make a mistake, simply keep on 
     going, trying other planes or other colors or whatever.  Or 
     if you've messed up the drawing so badly that you want to 
     start over, enter CLS and start over.  (You can also stop
     work at any time, saving the drawing at its current state
     for finishing later.  See SC and SS.) 


K:   K-plane.  I don't recall that this stands for anything.
     But what it does is allow you to color a plane that 
     won't color using Quick plane.  This happens when too
     much of the plane in question is off the screen.  Type K,
     K1, or K2, then [enter].  Enter a color number.  
     Dense cross hatching occurs, coloring the plane.
     These routines automatically assign how many cross hatch
     lines to draw (300, 1200 or 4800).  The 
     K and K1 routines are also used when a very narrow
     plane doesn't successfully color using Quick plane.


J:   The same as K-plane, but in a direction perpendicular
     to whatever direction K-plane drew.  You can also use
     J1, J2.  I often use K2 followed by J2
     to get complete coloring of a plane, as sometimes
     little dots are left behind.

SQ,
SK,
SJ:  String of Quick planes, K planes or J planes.  You'll
     be prompted for a starting plane, and ending plane,
     the increment ("1" colors every plane from starting plane
     to ending plane.  "2" colors every other plane.  "3" colors
     every third plane, etc), a starting color, and a color 
     increment.  If you select a color increment of zero, then
     every plane in the string will be the same color.


  More about SQ, SK and SJ:

         Take advantage of these routines when entering
         your data, especially when entering cube data
         for something repeatable such as posts, 
         spindles, window elements, or framing members.

         You can quickly paint these elements using SQ
         (or SK/SJ) if you've set them up cleverly in
         your data modules.  You make use of the 
         increment feature in SQ/SK/SJ to skip over
         planes in a patterned fashion.

         Use an increment of 10 or -10 to color a string 
         of planes associated with autocubes.  Thus, for 
         example, you can quickly paint autocube planes 
         433, 443, 453 ... 623, which are all facing the 
         same direction, using the same color for each, or 
         incrementing the color as well.

         Hopefully, you'll be so successful with RogCAD's
         auto-surfacing routine, you'll have little need for
         the SQ, SK, SJ, or any of the other plane coloring
         routines listed for this menu.


P:   Use this to define a plane for coloring.  There is  
     occasionally a plane you wish to color, but you didn't
     think of it at the time you were defining planes in your
     data file.  Rather than having to quit
     the program and go back to your data file, you can just
     define the plane "on the fly".  Type P, then enter.
     You'll be prompted for the point numbers (which you can
     enter in any order), then for the color.  You should
     make a note to enter the data for that plane in your
     data file the next time you are in there doing editing.


C:   Cross hatch.  This works like K-plane and J-plane, 
     except that you are prompted for points between which
     cross-hatching will occur.  The program will ask first
     for the "top point for first end line", then "bottom
     point for first end line".  Top and bottom here are
     completely arbitrary, just a device to keep things in the
     right order.  Next you're asked for the "top point for
     second end line", then "bottom point for second end 
     line".  If you mess up the order, or specify a lousy
     color, or are unhappy with the number of cross hatch
     lines you've chosen, you can just re-color that same
     plane using Q or P, then try it again.


F:   Framing lines.  Whereas Cross hatch increments a plane
     according to number of computer screen pixels, Framing
     lines increments a plane according to it's true 3D
     perspective.  That is to say, Framing lines are 
     perspectively correct.  This is the routine to use
     for adding shingles, siding boards or railings, or for 
     dividing cabinets into equal parts to simulate simple
     doors.  Called Framing lines because it was originally 
     used to simulate building construction framing members, 
     such as stud walls.  Inserts up to 100 lines. 


L:   Line.  Draws a line between two points.  Type L, then
     enter.  You'll be prompted for two points and for a
     color.  It's for when you need a line that you didn't 
     think to assign when you were in your data file.


A:   Add a point.  Adds a point to the point data base.  It's
     for when you need a point that you didn't think to assign
     when you were in your data file.  (Make a note to add it
     to your data file later.)  Type A, then enter.  You'll be
     prompted for a point number and for values for x, y and z.  
     Pick a point number that isn't being used (but not higher
     than 800).  If you don't like where it ends up, you can
     erase it by re-entering the same data, but using the same
     color as the color of the surface it ended up on.  Now
     re-define that point using new xyz values.  This point 
     will now be available for use with P, C, L and F, but
     possibly only until you switch to a different data group,
     depending on whether the point number you assigned is being
     used by the new data group.


CH:   Change color.  Same as CH at main menu.  Type CH, enter.
	Use arrow keys to change a color.  Press E to return to 
	the Enhance menu.  (Also see CH under the main menu
      description for further information.)


V:    View the perspective, focus and magnification values.


SC:   Screen capture.  This is my own screen capture routine, 
      built right into the program code.  It creates large
      image files, from about 50 KB to about 250 KB.  (They
      zip down to about 10% that size with Winzip for storage.)
      But it does at least provide an easy way to save a drawing
      for later rework.  RogCAD automatically adds the .CAP
      extension to the file name you assign, so don't add any
      extension.  All filenames are limited to eight characters, 
      not including the extension.

      Use SC to back up your work periodically when doing 
      manual painting of your object.  If you make a mistake 
      that ruins your drawing, just use SS (below) to get a
      recent image back on screen for rework.

      You must make a note of your perspective, focus and
      magnification (pfm) values before exiting RogCAD if
      you have created .cap images for later rework.  The
      same pfm values must be used when reworking a .cap
      image.  RogCAD will remind you of this whenever you
      exit the program.


SS:   Screen set.  This puts the .CAP file back on screen.  Do 
      not include the .CAP extension when entering the filename. 


SP:   (Not shown on the menu.)
      Save palette.  Lets you save the current palette, which 
      you have customized using CH, to a file for future
      retrieval.  RogCAD automatically adds the .pal extension,
      so do not type any extension.  (All filenames are limited 
      to eight characters, not including the extension.)

GP:  (Not shown on the menu.)
     Get palette.  Retrieve a palette.  Do not type the 
     extension.


QT:   QuiT.  Quit the program.  You can also quit by pressing
      control-break.  


More about data entry.

Wireframe colors

Now let's take another look at data entry.  You'll notice that
there are five line groups in the s-.txt data file.  

The purpose of having many line groups is to allow for using
many colors in your wireframe model within each data group.  The 
data file contains a section labeled WIRECOLORS.  You can edit 
this section to customize your wireframe colors.  A wireframe model 
with many types of elements is easier to comprehend visually if the
types of elements are different colors.

Of course, the colors are referred to by numbers, so you'll 
need to take note of what color is associated with what number.  
Color 1 (K1) goes with LINEG1, K2 with LINEG2, etc.  K6 goes
with the first autocube block, BLOCK401.  K7 goes with BLOCK601.
The background color is BACK.

Valid colors for this version of RogCAD are from 1 to 15.
These fifteen colors can be selected from a palette of 262,144
colors.


Default palette 

You might find sample.pal to be not very useful for a particular
project.  To edit a palette, start RogCAD, enter EN to go to
the enhance menu, enter CH and enter new numbers for the 
R,G,B values for any color.  The range for these values is 
0 to 63.  R=63 G=0 B=0 yields a bright red.  R=50 G=40 B=0 
yields yellow.  R=31 G=31 B=31 yields a medium gray.  Just 
experiment.  

Once you have a palette you like, enter SP to save this palette
to a file which you name.  Do not add the file extension, since
RogCAD adds the .pal extension automatically.  The palette file
is saved to the data folder.  File names are limited to eight
characters, not including the extension.  You'll find that 
every project you create will generate the need for a new 
palette or palettes.

You can designate any palette as your default palette in the 
start.txt file.  

You can also quickly generate gradually shaded palettes by
selecting CH at the enhance menu.  Follow the on screen
instructions.  Also see CH in the enhance menu items further
up on this page.

You can fine tune palettes, save palettes, and switch
palettes at any time when in the enhance mode.  Special effects 
such as day and night lighting are achieved by switching 
palettes while the drawing is on screen.


TRANSFORMATIONS

The TRANSFORMATION data entry areas allow you to rotate and 
translate sections of data, especially to re-orient sections 
of data that were generated by autocube (or by the curve data 
files).  Whereas autocube orients data into cubic shapes that 
are square with the coordinate system, TRANSFORMATIONS
will allow you to rotate these cubics into any position 
you desire.  The rotation is about the z axis, or about 
the y or x axis, depending on which transformation section
you use.

Here is an example:




We can create the above arrangement of shapes by:

  * defining just four autocubes, 
  * then "stringing" each of them out by way of repeating, 
  * then skewing them, 
  * then rotating the resulting formation into three additional 
    and identical formations.

First, you create a string of autocubes running in, say,
the x direction.  Ax3, ax4, ax6 and ax8 all give us places
to do this.  (See introduction at top of page.)  Here we 
used ax6 (This file is included in the samples folder
and named ax6-50.txt.):

BLOCK001:
Points 1 - 98
dummy data entries needed

x1,y1,z1,      x6,y6,z6,      spacing,   endcube,   rot,col
                                         (1 - 9)   
AUTOCUBE00:
 0,0,0,         1,3,3,         2,          5,        0,6  

BLOCK101:
Points 101 - 198
dummy data entries needed

x1,y1,z1,      x6,y6,z6,      spacing,   endcube,   rot,col
                                        (11 - 19)   
AUTOCUBE10:
 0,4,0,       1,10,8.25,        2,         15,        0,6


BLOCK201:
Points 201 -298
dummy data entries needed

x1,y1,z1,     x6,y6,z6,      spacing,   endcube,   rot,col
                                       (21 - 29)   
AUTOCUBE20:
 0,11,0,       1,14,3,        2,         25,        0,6

BLOCK301:
Points 301 - 398
dummy data entries needed

x1,y1,z1,     x6,y6,z6,      spacing,   endcube,   rot,col
                                       (31 - 39)   
AUTOCUBE30:
0,4,8.25,    1,10,11.25,       2,         35,        0,6

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

Notice, we used an x width of 1 (the difference between
x1 and x6) and an x spacing (we are in an x oriented
autocube stringing file) of 2.  So you can expect there will
be a space of 1 (meter or whatever you're calling it) between
each cube.

Also note the endcube in each of the four blocks is numbered
five higher than the starting autocube of each block.  This
means there will be six cubes in each block.  Each block will
be a string of six autocubes.

We used a rotation index of zero in each string for this data
file because we're not rotating the string of autocubes in this 
data file (rot,col is auto-surfacing information), and a base color 
of 6.  
 
This data entry yields the following image:




Next we skew these autocubes.  In ax6-50.txt, we enter the
following data into the STEP10TRANSLATE snippet:

--------------------------------
first, last, tranx, trany, tranz
TRAN
STEP10TRANSLATE:
4,54,0,0,4
6,56,0,0,4
202,252,0,0,4
208,258,0,0,4
302,352,0,3,0
308,358,0,3,0
304,354,0,-3,0
306,356,0,-3,0
999,999, 999,999,999
---------------------------------

Because we are using the STEP 10 version of the translation
snippet, every tenth point gets transformed instead of every
point.  The STEP 10 version is the version to use when
translating strings of autocubes, since autocubes follow a
step 10 pattern (see the autocube section higher on page).

We used four blocks (or strings) of autocubes to make our
initial model.  The block 001 contains a string of autocubes
whose points range from 1 to 58.  Block 101 contains a string
of autocubes whose points range from 101 to 158.  Block 201
contains points 201 to 258, and block 301 contains points
301 to 358.

Refer to the autocube orientation sketch and notice that
we are operating on points 4,14....54; points 6,16....56;
202,212....252; etc.  These are the range of points for each
line in the above snippet, from "first" to "last".

We're not changing any of the x values, but we do modify
the y values in block 301 and the z values in blocks 001
and 201.  No changes are made in block 101.

The changes made are relative to the original values as
generated by the autocube routine.

We save the file as ax6-51.  (It's in the samples folder.)

This sketch illustrates the change:


  



Next, to make three identical groups with different 
orientations, we rotate this group about the z axis using
ZROTATETRANSLATE.  We rotate 90 degrees, slide it along the
necessary amounts in the x and y directions, then save the
file as ax6-52.txt.  Then we go back to ax6-51 again, rotate
180 degrees, slide the needed x and y, and name it ax6-53.txt.
Finally a 270 degree rotation and x-y translation with the
name ax6-54.txt.

In ax6-52, enter 1 for the rot value, in ax6-53, enter 2 for
the rot value, and in ax6-54, enter 3 for the rot value.
(A rot value of 1 corresponds to rotations of about 
90 degrees, 2 corresponds to about 180 degrees, and 
3 corresponds to about 270 degrees.  Use 6 for the col value 
in each of them.  See the section on automatic surface modeling 
further down.)  

Finally, we return to ax6-51 to translate that data the 
necessary x and y distances, then re-save it.  The goal was 
to get the four groups centered around the origin.  By 
running the program after each edit, you can check your 
logic.  

Select the following for 
perspective, focus and magnification:
 
   1,0,20000,     0,0,0,     .4



Output:


It will give you a "floor plan" type view.  Call the 
x-y orientation arrows along with your other data groups.
The x-y arrows are displayed by calling s-0.txt from the
samples folder.

When rotating an autocube, the numbering system for its points
and planes rotates with it.  So you need to be aware of that 
when manually coloring such an object in the enhance mode.

Here are the three ZROTATETRANSLATE snippets:

In ax6-52:
-----------------------------------------
 first, last, zangle, tranx, trany, tranz

TRAN
ZROTATETRANSLATE:
1,358,90,7,13,0
999,999, 999,999,999,999
---------------------------------

In ax6-53:
-----------------------------------------
 first, last, zangle, tranx, trany, tranz

TRAN
ZROTATETRANSLATE:
1,358,180,-13,7,0
999,999, 999,999,999,999
---------------------------------

In ax6-54:
-----------------------------------------
 first, last, zangle, tranx, trany, tranz

TRAN
ZROTATETRANSLATE:
1,358,270,-7,-13,0
999,999, 999,999,999,999
---------------------------------


Here is the TRANSLATE snippet in ax6-51
(we could have used ZROTATETRANSLATE and
selected rotation 0):
---------------------------------
 first, last, tranx, trany, tranz

TRAN
TRANSLATE:
1,358,13,-7,0
999,999, 999,999,999
---------------------------------


All the above transformation routines are referred to as
"snippets" because the user copies and pastes them into
the data file in whichever order is needed.  All the
transformation routines are stored at the bottom of every
data file.  The user highlights the desired routine, 
copies it, then pastes it into the appropriate area of the 
data file.  Refer to the data files for the above example 
to see this illustrated.

The following simple pavillion was created using the same
techniques as above.  The two rows of beams on the left were
generated as a string, skewed, saved as ax3-61, then rotated 
180 degrees, slid along the x axis until it lined up with the 
first set, then saved as another file, ax3-62.  The center
joists are in ax3-63, and the two roof sections are in s-60,
all in the samples folder:




End of PART I.

PART II covers auto-surfacing information, curved surfaces,
and analytical tools.


PART II


Auto surfacing

Read through these directions for using auto-surfacing, then
see the text file "auto.txt" for detailed instructions on
how to see auto-surfacing in action.

To get RogCAD to do most of the object painting for you,
you need to pay attention to how you arrange your project.
Since the auto-surfacing routine works only on whatever group
is in memory, you should group your data strategically.

A simple example is a four sided building.  As noted in the
"groups" discussion under the enhance menu, the following
strategy is important.  Each of the following should 
constitute a data group:

       east windows,
       south windows,
       west windows,
       north windows,
       exterior shell,
       porch structure.

If you were to combine all these elements into one group,
RogCAD's simplistic auto-surfacing routine would be undermined
by the arrangement of the planes and would yield terrible
results.  Arranged as instructed, the auto-surfacing routine is
typically 95 percent accurate.  The user fine tunes the 
displayed model by manually painting a couple of planes.

If you are viewing the east and north side of a house, then
you would typically auto-surface the shell (including roof)
first, then the windows groups of the two visible sides.  
Enter P1, then answer the prompt for group number.

Next, you are prompted for lightest and darkest sides.  To 
make this work, you need to have set up your color chart
correctly.  You will need three shades of each color you
are using for an individual element.  These shades need to be
next to each other in the color palette.  They must run from
light to dark going down the chart (increasing in color
number).  You then assign the middle shade to that element 
(plane or autocube) in your data file.  You also assign a 
direction number to the planes and a rotation index to 
autocubes.

Typically, the best answers for the lightest/darkest prompts
are 6 for lightest and 1,2,3 or 4 for darkest.  The top plane
of autocubes is 6, and that is a natural source for a lightest
side.

It might seem like there wouldn't be enough colors in a 
15 color palette to do much with this routine, but it's 
surprising.  Siding, trim, windows and roof together use up 
twelve colors, leaving two for other elements, and one for 
background.  You can also re-use some of the "used" colors
for elements that are not adjoining the aforementioned
elements.  (The 255 color palette of the future version 
of RogCAD presents no challenge at all.)

When the auto-surfacing routine (P1) is called, RogCAD will
adjust the shading using the dark, middle and light version
of the color group, based on the direction or rotation index
you've specified in the data files.

The last two values in each line of the AUTOPLANE section of 
your data file (where plane data is entered) hold direction and
color information.  Enter the middle number of your color
trio for that plane, and enter the direction of the face of
the plane.  The direction is a number from 1 to 6, corresponding 
to the autocube plane direction numbers.  If the plane sits at 
a funny angle (like a sloped roof), just pick a number that best 
suits it.  You can always go back and edit it.

The last two values in each line of the stringed autocubes
contain rotation index and color (rot,col).  The rotation index 
refers to any rotation to which you might be subjecting that 
string using a ROTATE transformation in your data file .  Valid 
values are 0,1,2 or 3.  0 corresponds to no rotation, 
1 corresponds to 90 degrees, 2 to 180, and 3 to 270.  If you are 
rotating the string some in-between angle, just pick a number 
which best suits it.

The rot,col in the single autocube sections work the same way.

The data files also contain an area for specifying framing
lines.  These are for simulating shingles, siding, brick,
window mullions, spindles, deck boards, etc.  They are
specified on a plane by plane basis.  The autocube planes,
whether generated as single autocubes, or as a string of
autocubes, are specified in that same area.  Refer to the 
section on autocubes above for autocube plane numbering 
information.

You can specify these framing lines in one or two directions,
thus the names AUTOFRAMING1 and AUTOFRAMING2.  These are
automatically drawn when a plane is colored by auto-surfacing.
You'll need to experiment to learn which direction you need.
There is no obvious pattern to it.  But it can only be one of
two ways, so you'll get to the bottom of it fast for each 
plane.  The auto-surfacing routine will automatically assign the
correct color for autoframing lines, based on that plane's
assigned middle color and the way you answer the lighting 
condition prompts at run time.

In s-.txt and a-.txt, framing lines are assigned on a per
plane basis.  In a(xyz)(n)-.txt, they are assigned a string
at a time.  For a string of one, just specify that plane
as both the start plane and end plane.

If you assign auto-framing lines to a "flat" autocube (one
that you've defined as having a zero width), then you'll
get bad results with the auto-framing of that "cube".  So
make sure your cube is not utterly flat.  Give it at least
a micro width.

After the auto-surfacing routine finishes its modeling for the
active group, you should make manual corrections, if needed,
before moving to the next group.  Rather than having to type
Q or K or J for this task, you can just type PP (enter) and
then just provide the plane number.  The auto-surfacing routine
still has that plane's adjusted color in memory and will
paint it correctly.  If you have already switched groups,
then you would need to make your manual corrections using
Q or K or J planes.

You also have two other options for auto-surfacing.  They
are P2 and P3.  (They don't show on the menu.)  These two 
routines use slightly different algorithms than P1.  P1 has 
the best track record, but different algorithms work best with 
different designs.  If you don't like the results with one, 
try another.

Finally, you can use the hidden line routine, which makes 
very clean drawings on your screen.  Type H1 (or H2 or H3)
on a group by group basis just like you did with P1.  You
make your manual corrections by typing HP after the routine
finishes, and before moving to the next group.


Single autocubes:
first point,     min x,y,z,  max x,y,z,    rotation, color

 
String of autocubes:
 x1,y1,z1,   x6,y6,z6,   spacing,   endcube,   rot,col


Autoplanes:
Plane,  direction,  color


Refer to the data file s-30.txt in the samples folder to
see a variety of this type of data entry.  Then run RogCAD,
call that data file, and run the auto-surfacing routine.  See
the text file "auto.txt" for detailed instructions on
how to do this.




Curves:

Curved surfaces are built from one of three basic
orientations: x based, y based, or z based.  An
arched doorway would be x or y based.  A curved
walkway would be z based.  More complex objects
might land somewhere in between and be modeled
using either x, y, or z along with various shape
modifiers, or rotated through any angle by using
the TRANSFORMATION functions.

First, we'll look at curve generation in the 
high resolution / 255 color version of RogCAD.

The following RogCAD-generated image shows some
simple arcs made with xcurv (cx-.txt).  Further 
down is the code snippet from cx-.txt used to 
generate them.  The code snippet contains user-
entered data. 




You'll notice that each arc consists of two
long curved parallel lines and 50 short 
lines connecting them.  What we really have
are 49 small polygons simulating a curve.
Each (double) curve consists of 100 data
points, regardless of the arc length.
These points, lines and planes are generated
automatically by the curve routine.  You
just specify the start degree, the arc
length, the radius, the offset, and various 
optional modifiers.  Each curve must be a 
double curve, though they need not be uniform 
within that pair in any manner.  (You can
generate some very exotic forms.)  You
can also make the two elements (bottom line and top line)
identical, thereby effectively generating
a single lined curve if you need to.

You can vary the radius between bottom line and top line,
or you can vary the offset, or both, depending 
on what architectural element you are building.

There are eight of these double lines in each
curve data file.  You terminate the data reading by
changing the 111 to 999 following whatever line pair
you wish to be your last.




Curve painting

(The methods described below might seem a bit 
slow, but RogCAD provides you a text file where 
you can enter curve painting instructions in
advance of running the program.  These chunks
of instructions are "macros".  They allow you
to recreate painted curved surfaces
with a key press.  You'll find that your macros
need very little tweaking as you go along with 
your project design.)

The above image shows the same simple
arcs painted in the enhance menu 
(using the 255 color version).  The 
simplest way to paint an arc or a portion
thereof is to use the SQ, SK, or SJ 
routines.  (String of quick planes, string
of K planes, string of J planes.)  You 
simply specify the start plane, the end
plane, the increment (inc > 1 lets you
skip planes), the start color, and the
color increment.  Using 49 colors somewhere
in the 1 - 63 range of default.pal yields
49 shades of gray.  You can go forwards or
backwards through the planes or the colors.

Typically, when shading a full circle object,
one would just want to shade 24 or 25 planes
at a time, going from light to dark or vice
versa.  Example:

SQ (string of quick planes)
Start plane:   201
End plane:     225
Increment:       1
Start color:    50
Color inc:      -1

SQ (string of quick planes)
Start plane:   249
End plane:     226
Increment:      -1
Start color:    50
Color inc:      -1

This colors the full circle, with the lightest
shade (50) at plane 201 and 249 (which are
adjacent to each other), and the darkest shade
(26 and 27) opposite them at planes 225 and 226.

If you just want to paint a string of 
curve planes all one color, you can 
color 49 planes (or more) all at once 
by selecting color incr = 0.

When using this DOS version of RogCAD, you 
should rely on SK or SJ for curve painting,
rather than SQ.  SQ can sometimes wipe out
your screen if one of the planes of a curved
surface is viewed on edge, something that is
not rare.  


255 color curves information:

'planes   1 -  49 go with points   1 - 100
'planes 101 - 149 go with points 101 - 200
'planes 201 - 249 go with points 201 - 300
'etc
'       701 - 749                701 - 800



Version 2.5 curves

See the section above for background information.

In the low resolution version (2.5), there
are just 9 planes per curve.  These planes
can be gradually shaded just as in the 255
color version, using a string of 9 colors
from the 15 color palette.


15 color curves information:

'planes   1 -   9 go with points  1 -  20
'planes  21 -  29 go with points 21 -  40
'planes  41 -  49 go with points 41 -  60
'etc
'       141 - 149               141 - 160



Curve data example

Here is that code snippet from xcurv which
generated the above images:

             radius    offset    weight
   start,arc  Z  Y    Z  Y  X   left,inc  deform

DATA 111
B1: 
DATA  90,180, 10,10,  0, 0, 0,   0,  0,      0
T1:
DATA  90,180, 11,11,  0, 0, 0,   0,  0,      0

DATA 111
B2:
DATA 180,180, 13,13,  0, 0, 0,   0,  0,      0
T2:
DATA 180,180, 14,14,  0, 0, 0,   0,  0,      0

DATA 111
B3: 
DATA 270,180, 16,16,  0, 0, 0,   0,  0,      0
T3:
DATA 270,180, 17,17,  0, 0, 0,   0,  0,      0

DATA 111
B4:
DATA 350,180, 19,19,  0, 0, 0,   0,  0,      0
T4:
DATA 350,180, 20,20,  0, 0, 0,   0,  0,      0

DATA 999  (ends the data read)

Complex curves

You can model complex shapes, such as a 
boat with complex curved boards, each
board molded to its neighbor.  Molding one
complex curve to another is very simple.
You simply repeat the previous T(n) with an
identical B(n) for the next curve.  The
variation need only occur within a curve
pair.

The "left,inc" feature is the trickiest to
use.  Comprehensive instructions for it are
still just a bit in the future.  What it
does is deform your curve in a "weighted"
fashion in the direction parallel to the 
axis of rotation.  You can weight the 
deformation in various ways by choosing
various values for "left" and "inc".
(Don't worry about what "left" or "inc"
stand for.)  Try numbers between -90 and 90 
for the value of "left".  

Choosing  left = -90 and inc = 1.3 will gradually 
pull the curve higher from one end to the other.
Having non-zero values for "left" and "inc"
leads necessarily to assigning a value for
"deform".  "Deform" provides the magnitude
of the deformation.  Assign positive or 
negative values, and remember, you can modify
T(n) differently from B(n) with any of these
variables.  Choosing inc > 1.3 when left = -90
will cause the curve to begin to dive back 
down again along its way.  The higher the 
value for inc, the sooner the curve begins to 
dive again.  

Setting left = -90 and inc = 3.5
will bring the tail end of the curve back 
down to the same height as the front end.
Very high values of inc create a roller
coaster curve.  The lower the value of
"left", the higher the value "inc" can have
without getting the roller coastering.
Different values of "left" yield different
shaped curves, even if the overall rise
is the same.  

By the way, the use of the words "height",
"rise" and "dive" above are arbitrary.  Depending
on which curve module (x, y or z) you're in, 
those terms could just as well be referring to 
sideways motion.
 
Run-time curve generator

(Called the ct program for curve tester)

(The Windows version of RogCAD will provide
faster methods of getting feedback on your
curve data, making the following DOS utility
obsolete.)

You can experiment with curve generation
by running the program ct-start.exe, found in
the ct folder.  (Make a shortcut to it,
and place that shortcut in your rogcad25 main
folder.)  This curve maker contains just one 
curve pair for each basic curve orientation - 
x, y and z.  You can easily edit and re-display
curves at run-time, though no copy of your 
edited data can be saved.  

Here is the ct-start.exe menu (in z mode):



Start Arc XRad YRad Xoff Yoff Zoff  Left Incr Deform  

Start Arc XRad YRad Xoff Yoff Zoff  Left Incr Deform 

          SH  CV  A  X Y Z    RE  GO  QT


CLS (clear screen) is also available, though 
not shown on the menu.  

Always begin by doing the following:
Enter X, then enter RE (for reset) to activate 
the x mode.  Similarly for Y and Z modes.

Then enter the uppercase letter(s) for any menu 
item in the upper two rows (followed by either 
T or B (for top or bottom).  

Examples:
  XRT [enter]
  DB  [enter]
 
Change as many as you wish, even over again,
then enter GO to see the results.  Previous
wireframe models remain on screen along with
your most recent one until you enter CLS.
Enter RE to reset the curve back to its
original shape for whichever mode is currently
active.  Change groups to clear the menu 
variable values.

This program will help to unravel the 
mysteries of curve generation. 

Fuller instructions are included in the ct folder.

The following diagram illustrates the degree coordinates
and arc direction for cx, cy and cz curves:




You can deduce the 180 and 270 degree locations.  You
should print out a copy of this diagram for reference.

The following screen capture shows the default z curve
in the ct program.  The default values don't appear on
the menu, but here I've added them in faded text just
for illustration.  The default values are listed in the 
instruction document in the ct folder.




The next screen capture shows three variables changed:






Analytical tools

RogCAD's analytical tools are simply a collection of
methods, using the "autocube stringing data files" to
generate customizable and rotatable grids by which to
analyze the positioning and sizing of the elements of
your project, and using multicolor lines within the
grids and within your objects to make easy distinctions
and measurements.

The use of the arrow keys to zoom in and pan back and
forth further enhances your capability to fine tune the
manner in which various elements of your project fit 
together.

Use the ax4 file to create a series of lines parallel
to the y axis and strung out in x direction.  Use the
ay4 file to create a series of lines parallel to the
x axis and strung out in the y direction.  The simultaneous
displaying of these two groups will create a horizontal
grid which you can lay over your object.

Similarly use the az4 file along with the ax4 or ay4 file
to create a vertical grid.  These grids can be rotated
into odd angles if you need to overlay a grid onto a
project element which sits at an odd angle.

Use two colors in your grids - a subtle color for small
increments, such as 1, and a bold color for larger 
increments, such as 5 or 10.  Edit the colors in the
wireframe line colors (wirecolors) section.

Here is an example:

File ay3-.txt
  x1,y1,z1,    x6,y6,z6,    spacing,   endcube,   rot,col
                                                  (1 - 19)   
AUTOCUBE00:
   0,-10,0     0,-9,14         2         10         0,0       

Here, lines parallel to the z axis are strung out in the 
y direction.  The height of the lines is 14.  Even though
"2" is entered as the spacing, the spacing is actually 1,
because the autocubes have a y width of 1 and an autocube
is drawn every 2 units.  Notice that these are "flat"
autocubes because the x width is zero.

Here is the mate for the previous string of autocubes:
File az3-.txt
AUTOCUBE00:
   0,-10,0      0,10,1         2          7         0,0

Lines parallel to the y axis are strung out in the 
z direction.  The length of the lines is 20.

Together, these two groups form a grid in the z-y plane.

Next, let's add a bold line every 5 units:
File az3-.txt:
AUTOCUBE20:
   0,-10,0      0,10,5        10         21         0,0


Check out the data entry for these useful tools: 

the xy plane grid
  ax4-97
  ay4-97

the xz plane grid
  ax4-98
  az4-98

the yz plane grid
  ay4-99
  az4-99

all in the samples folder.


Tips
1. To obtain a "plan view" (2D floor plan), just select 
   the Z perspective value of about 20000 and select 
   X focal, Y focal, Z focal, X perspective and Y perspective
   centered on the object.  But not quite.  Actually you'll
   need to select X perspective slightly different from 
   X focal, or Y perspective slightly different from Y focal.
   The orientation of the 2D plan will depend on which element
   you vary, the X or the Y.  Here's a good choice:
   P: x = 0    y = 0   z = 20000     
   F: x = -1   y = 0   z = 0
   Experiment.

   The same logic applies to 2D side elevations, but with
   X or Y being the far perspective element.  Also, with
   side elevations, you don't need to offset any of the
   values to get a squared away view.
   
   A more reliably crisp plan view can be obtained by
   using the RESIZE transformation snippet to change
   all z values to zero.


2. You can use the SH (shift) function
   to create drawings of unlimited virtual
   resolution.  By using the SHift function,
   you can fill the screen with just one
   section (such as apx 1/4 or 1/6) of your
   object while preserving both the
   perspective and focal point.  You can
   capture each screen image and then
   paste them together in a paint utility 
   program using the computer at a high 
   resolution.  

   To see the dramatic difference, click virtual.htm.


3. Inches versus feet.  The values you enter for xyz can 
   mean anything you want them to mean.  You can consider
   all your xyz data to be inches, feet or whatever.  You 
   just need to be consistent.  The only effect on the 
   running of the program is the magnification value.


4. You can take your perspective point right inside an
   object.  Unfortunately, due to some BASIC virtual
   screen math limitations, errant lines can occassionally
   appear.  Try shifting your perspective a bit.  If all
   else fails when trying to colorize an inside view, you
   can fake an inside view by placing your perspective 
   point just outside the object and adjusting your 
   magnification and focal point to create the same view
   as if you were truly inside.  Remember, this program
   allows for wide angle lens shots by bringing the 
   perspective point in close and selecting a focal point
   and magnification to create the desired effect.


5. Occasionally, when coloring a plane using Qp or Pl, the 
   plane gets only partially colored.  Overide this by
   coloring that plane again using some other color.  Then
   recolor with the color you desire.  You can always rely
   on k2 or j2 for plane coloring if your computer is fast.


6. You can create point-pair line data and plane data where a 
   point defined in the STANDARD data segment is connected 
   to a point defined in the autocube data segments.
   This can sometimes save you from having to define
   extra points, like where a sloped roof meets an
   element created using autocube, such as the shell
   of a house.


7. Triangular shapes can be treated just like four sided
   shapes when it comes to defining planes, cross hatching
   or using framing lines.  You simply repeat one of the
   vertices.  It's as if one side of a four sided polygon
   had length zero.


8. Using the "add a point" routine under the enhance menu, 
   you could design a project right on the screen, though
   it would be quite slow.  You would also have to make
   note of what coordinate values you are using and then
   type them into your data file at some point for repeated
   use.  In fact, I occasionally do some limited design work 
   in that manner.  It's also good for analytical work.


9. It's sometimes useful to add dummy points (and 
   lines and planes) to the data base in the course of
   editing.  Just add data that won't affect the 
   displayed output.  This could mean just repeating
   data, or defining points without defining point-pair
   lines to go with them.


Crazy output

There are scores more tips I could provide.  I learn more
tricks every time I create a new project.  Send an email
to rogcad.com for answers to questions that come up and
to get help for any problems that arise.  Problems 
generally arise when there is a missing space or comma, or 
an extra comma in a data segment.  These things can create 
crazy output or cause the program to immediately crash.  
This is why it's important to keep the data columns straight 
and tidy.

Fortunately, by having your project's data spread out
among various groups, any data entry problem is automatically
isolated within a group.  So finding the culprit is usually
short work.

If you have a data base that is producing crazy results,
or that causes the program to crash, send a copy of your
data base to the feedback at rogcad.com for debugging.


Save and print a graphics screen

It's sometimes useful to print out a copy of your wireframe
model prior to entering plane data.  The printout of the
wireframe can be used to label plane data.

To print out a graphics screen, you first need to capture
it in a manner that Windows can understand.  Press the 
print screen key (usually without shifting).  Then quit 
the program and open MSPaint.  You'll find a copy of the 
image in the clipboard.  Print it out from MSPaint.

For higher productivity, capture your screens with a TSR
program such as Grabber (see rogcad.com/sitemap.htm).


RogCAD for Windows:  High resolution, 255 colors on 
                     screen, faster image processing.

RogCAD 2.5 for DOS can display only 15 colors at one 
time on screen and can use only 640 X 480 resolution.

There is now a Windows version of RogCAD that can
display 255 colors on screen at resolutions up to 
1600 X 1200.  It comes in a version that is 
compatible with the DOS version databases, as well
as a version with larger data memory per data group.


12/11/01
rogcad.com