Instructions for RogCAD for DOS

(This also encompasses most of RogCAD for Windows)

This document is both a reference guide
and a tutorial.


CONTENTS:  (click on the links)

Introduction


PART I  

Introduction to data entry

Beginning a project, 2D sketch 

The User Editing Area (part 1)
     Standard points data entry
     Lines data entry
     Saving your data file
     Default view & default palette assignment

Illustrations

Sketch labeling
Simple wireframe
Autocube diagram
Stringing autocubes 
Transformations
Skewing autocubes 
Rotate and translate
Simple pavillion
Curves planes
Curves painting 
Curves logic  
Curve Test default
Curve modified
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 rendering

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
            
Data entry errors

Printing a graphics screen

The future



Introduction

Keep all the files in the folders they came in except where
instructed otherwise.

You should open the files s-.txt and ax-.txt (found in
the "empties" subfolder) and refer to them as you read the 
following instructions.

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, otherwise you'll 
end up with a lot of unrelated data files in your working 
folder (the "data" folder).    

Leave all the files in the "empties" folder intact.  Copy
files from that folder as needed, and place them in the
data folder with a new name suitable for your project.

DOS allows file names of up to eight characters.
The dash and the characters preceding it in a
RogCAD data file must be left intact, and that leaves
a limited number of characters for the rest of the name.

Examples:

s-house.txt
s-08.txt
ax-14.txt
ay-windo.txt

(The Windows version of RogCAD 
lets you name files in any manner.)


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 need not be 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 surface- 
    rendered model of your project on screen.  ("Surface
    rendering" and "solid modeling" are used synonomously
    in this document, though technically RogCAD provides
    surface rendering.)

    There is also a place to type in some additional 
    information about planes that enable RogCAD to 
    automatically generate a solid 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-
    solid routine.

 2. Enter data into the ax-.txt, ay-.txt, az-.txt files.
    "a" stands for autocube.  x, y or z indicate the direction
    for stringing together autocubes.

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

 3. Enter data for curved surfaces into text files
    by the name of cx-.txt, cy-.txt or cz-.txt.  

    The user will then typically surface-render curved 
    surfaces at run time using a menu function (or a macro), 
    though curves can also be surface-rendered using the 
    normal auto-solid routine.  The former method is 
    typically used as it affords gradual shading for 
    light source effect.

 4. Enter data for standard points/lines/planes, for
    single autocube, and for curved surfaces into text files
    by the name of mx-.txt, my-.txt or mz-.txt.

    These types of text files provide you with the means to 
    combine the three basic data types into one file for
    creating a good overview of your project.


Each of these data text files constitute a type of "group"
(a "data group").

  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 solid modeling using a simple 
  algorithm. (Automatic solid modeling is performed on 
  just one group at a time, though unlimited numbers of 
  solid-modeled 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.
    
RogCAD is then run by double clicking on rogcad.exe.


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 "autosolid" 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 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, we 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.  It's well 
worth the little extra time spent defining all the lines so that
you can 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 save this file as s-examp.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 data folder.
It has two sections for editing: "default view" and 
"default palette".


Default view and default palette

Edit the DEFAULTVIEW section so that it looks like this:

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


This gives you a perspective point of x=90, y=65, z=30,
a focal point of x=5, y=10, z=1, a magnification
of 1.5, vertical shift=0 and horizontal shift=0.

During the construction and analysis phase of building your
project, it is typically useful to edit the default view
quite often so as to view your object from different
perspectives upon startup.  It's nice to have the correct 
vantage point upon startup, rather than having to monkey with 
view changes at run time if you're doing a ton of view changes.  
You'll find yourself switching back and forth between 3 or 4 
different default views during the construction phase.  For 
this reason, you should store the noncurrent default views at 
the bottom of start.txt.  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 thus be called
by RogCAD at run time.  (All filenames are limited to eight 
characters, not including the extension.)

Now 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
rogcad.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 data folder.  You can "call" it to refresh the 
  orientation arrows.  You can also edit s-0.txt to make
  customized x - y arrows.)
  


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 name for that type.  Example:  For the
     simple house, we type S for data type, then examp for group 
     name, because we are calling the data from s-examp.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.  Thus you will
     see only the active group moving about on screen as you
     rotate or shift the object on screen.  However, the inactive
     groups are automatically updated with the new perspective
     as well.  

To display the simple house of s-examp.txt, type G (enter),
then S (enter), then examp (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 5 or
     10 when changing perspective and typically a decimal number
     such as .1 or .01 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 disappear
     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,
     is infrequently 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 solid 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:








Autocubes

We've added door and windows (lower sketch).  We've also given 
the walls thickness, making inner and outer wall surfaces.  
But notice that on the upper sketch we've labeled all the 
points individually, and on the lower sketch we've mostly 
just labeled "autocubes".  

You'll notice in the autocube data text files that autocubes
are grouped into blocks of twenty, with two blocks of autocubes
per s-.txt data file.  You can enter anywhere 
from one to twenty autocubes per block.  It's okay to skip 
over blocks (leave empty).  When not using a block, you must 
leave the zeroes in that block as placeholders.  

Don't worry about rot or col (default values of 0,10) for now.  
These stand for rotation index and color, values needed by the 
automatic solid 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.
 
(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 s-aw.txt in the data 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 in 
ax, ay or az data files and from 201 to 798 in an s-.txt data 
file:

Autocube 00 consists of points 1,2,3,4,5,6,7,8.  (9 and
10 are not used.)  Autocube 00 consists of plane numbers 1,2,3,
4,5,6.  (7,8,9,10 are not used.)  

Autocube 20 consists of points  201,202,203,204,205,206,207,208.
(209 and 210 are not used.)  Autocube 20 consists of plane 
numbers 201,202,203,204,205,206.  (Planes 207, 208, 209 and 210 
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, ... 
... 20, 21, ... 79 on your crude sketch.  Just keep a little 
autocube orientation sketch handy to refer to as needed for 
possible reference.

Single autocubes can be entered into the following data text
files:  s-.txt, mx-.txt, my-.txt, mz-.txt

Strings of autocubes can be entered into the following data
text files: ax-.txt, ay-.txt, az-.txt


Here is a data entry sample for single autocubes using s-.txt

(with a much simpler method to follow):

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

H E R E   I S   A   S I M P L E R   M E T H O D 

using ax-.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.


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, mx-.txt, my-.txt or mz-.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,10
2    2,4,6,8           0,10
3    11,13,15,17       0,10
4    12,14,16,18       0,10
999  999,999,999,999   0,10
-------------
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 solid 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.  Or you can 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.  

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

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



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 solid 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 H2 H3 HP   P1 P2 P3 PP   Q   K K1 K2  J J1 J2  C

SQ SK SJ   F L P A   MA MG    SC SS   GP SP CH   V   CV   CLS   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-solid routine (as a matter of good policy).


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.  


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 are manually creating a solid
     rendering).  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.  This allows 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 routine is 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.  You might use K2 followed by J2 to get complete 
     solid 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 start plane, an end plane,
     the increment ("1" colors every plane from start plane
     to end plane.  "2" colors every other plane.  "3" colors
     every third plane, etc), a start 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:

         Proactively 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
         autosolid routine, that you'll have little need for
         the SQ, SK, SJ, or any of the other plane coloring
         routines listed for this menu.

         (SQ, SK and SJ are, however, the standard method for
         surfacing curves.)


P:   This feature is largely outdated, now that DOS programs
     such as RogCAD are typically run in a window such as
     provided by DOSBox.

     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:   Also largely outdated.

     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:   Also largely outdated.

     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 200 lines. 


L:   Line.  Draws a line between two points.  Type L, then
     enter.  You'll be prompted for two points and for a
     color.


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 RogCAD's own screen capture 
      routine.  It provides 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:   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:   Get palette.  Retrieve a palette.  Do not type the 
      extension.


QT:   QuiT.  Quit the program.


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, BLOCK201.  K7 goes with BLOCK401.
K8 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 able.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.  You can combine transformations sequentially 
as well.

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 four strings of autocubes running in, say,
the x direction.  ax8-.txt gives us places to do this.  
(See introduction at top of page.)

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

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

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

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 autosolid information), and a base color 
of 6.  
 
This data entry yields the following image:




Next we skew these autocubes.  In ax8-.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 ax8-cath1.txt (stands for cathedral).

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 ax8-cath2.txt.  Then we go back to ax-cath1 again, rotate
180 degrees, slide the needed x and y, and name it ax8-cath3.txt.
Finally a 270 degree rotation and x-y translation with the
name ax8-cath4.txt.

In ax8-cath2, enter 1 for the rot value, in ax8-cath3, enter 2 for
the rot value, and in ax8-cath4, 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 solid modeling 
further down.)  

Finally, we return to ax8-cath1 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.

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 ax8-cath2:
-----------------------------------------
 first, last, zangle, tranx, trany, tranz

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

In ax8-cath3:
-----------------------------------------
 first, last, zangle, tranx, trany, tranz

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

In ax8-cath4:
-----------------------------------------
 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 ax8-cath1
(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 ax-p1, then rotated 
180 degrees, slid along the x axis until it lined up with the 
first set, then saved as another file, ax-p2.  The center
joists are in ax-p3, and the two roof sections are in s-pav.




End of PART I.

PART II covers autosolid information, curved surfaces,
and analytical tools.


PART II


Autosolid

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 autosolid routine works on only one group at
a time, 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 might 
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 autosolid algorithm would be undermined
by the arrangement of the planes and would yield terrible
results.  Arranged as instructed, the autosolid algorithm is
typically more than 95 percent accurate.  The user might
need to fine tune 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-solid the shell (including roof)
first, then the windows groups of the two visible sides.  
Type 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 Windows version
of RogCAD presents no challenge at all.)

When the autosolid 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 autosolid.
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 autosolid 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 the data files, framing lines are assigned on a per
plane basis.  In a(xyz)-.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 autosolid 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 autosolid 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 autosolid painting.  
They are P2 and P3.  These two routines use algorithms 
slightly different from 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




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 cx-.txt.  Further 
down is the code snippet from cx-.txt used to 
generate them.  The code snippet contains user-
entered data. 




NOTE:  The following discussion was written back when
       RogCAD for Windows used 49 planes per curve section
       and RogCAD for DOS used 9 planes per curve section.
       
       The current version of RogCAD for DOS and 
       RogCAD for Windows allows you to specify the 
       number of planes in the data text file.


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 solidly 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

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

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

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

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

    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 allows you to gradually
raise a curve to whatever extent you wish.  
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.  This is also true for using DOSBox
to run RogCAD for DOS.)

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 ax file to create two series of lines parallel
to the y axis and strung out in x direction.  Use the
transformations section to rotate one of those two
series of lines by 90 degrees.  You now have a horizontal
grid which you can lay over your object.

Similarly use the az 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 ay-.txt

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

AUTOCUBE20:
   0,0,0       20,1,0         2         29         0,0

Here, lines parallel to the z axis are strung out in the 
y direction.  The length of the lines is 20.  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.

Next, let's add a bold line every 5 units:

AUTOCUBE40:
   0,0,0       20,5,0         10        45         0,0


Use these snippets in the TRANSFORMATIONS section:

-----------------------------------------
 first, last, zangle, tranx, trany, tranz

TRAN
ZROTATETRANSLATE:
201     298    270       0    20      0
999,999, 999,999,999,999

TRAN
ZROTATETRANSLATE:
431     458    270      -30   20      0
999,999, 999,999,999,999
-----------------------------------------

This forms a grid in the x-y plane.



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


Data entry errors

There are scores more tips which could be provided.  We learn 
more tricks every time we 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.


Old section:

>>
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 Screen Thief (see rogcad.com/sitemap.htm
or luebeckdownloads.com).
<<


New section:

>>
If you're running the RogCAD for DOS that was compiled
in BASIC (rogcaddos-bas.7z zipped files), then you're 
likely using DOSBox on a modern computer to run 
RogCAD for DOS, in which case screen captures are 
as easy as pressing [alt][prt sc].

Identically, if you're running the RogCAD for DOS
that was compiled in c++ (rogcaddos-c.7z) (and therefore 
not requiring DOSBox) you capture screens in that 
same manner.
<<



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

The Windows version of RogCAD can display 255 colors 
on screen at resolutions up to 1600 X 1200 or 1900 X 1080.


12/11/01    (updated 12/25/20)
rogcad.com