Category : Graphic Animations - Lots of older FLI's
Archive   : AFLIX.ZIP
Filename : FLIXDOC.DOC

 
Output of file : FLIXDOC.DOC contained in archive : AFLIX.ZIP


AUTODESK, INC.














AutoFlix(tm) Version 1.0


User Guide





































Publication TD119-00 February 22, 1988





Copyright (C) 1988 Autodesk, Inc.

All Rights Reserved

This publication, or parts thereof, may not be reproduced in any form, by
any method, for any purpose.

Autodesk, Inc. makes no warranty, either expressed or implied, including
but not limited to any implied warranties of merchantability or fitness for
a particular purpose, regarding these materials and makes such materials
available solely on an "as-is" basis.

In no event shall Autodesk, Inc. be liable to anyone for special,
collateral, incidental, or consequential damages in connection with or
arising out of purchase or use of these materials. The sole and exclusive
liability to Autodesk, Inc., regardless of the form of action, shall not
exceed the purchase price of the materials described herein.

For condition of use and permission to use these materials for publication
in other than the English language, contact Autodesk, Inc.

Autodesk, Inc. reserves the right to revise and improve its products as it
sees fit. This publication describes the state of this product at the time
of its publication, and may not reflect the product at all times in the
future.

This manual was published in February, 1988, based on Version 1.0 of
AutoFlix(tm). It was prepared using the GML/PC(tm) document composition
system from Command Technology Corp., Oakland, CA.















BASIC is a registered trademark of the Trustees of Dartmouth College. IBM,
PC-DOS, and PS/2 are registered trademarks of International Business
Machines Corporation. MS-DOS is a trademark of Microsoft Corporation.

AutoCAD, AutoCAD AEC, AutoLISP, AutoSketch, and CAD/camera are U.S. regis-
tered trademarks of Autodesk, Inc. ACAD, ADE, ADI, AutoFlix, AutoShade,
DXF, 3D Level 1, and 3D Level 2 are additional trademarks of Autodesk, Inc.



Table of Contents



Chapter 1: Introduction to AutoFlix . . . . . . . . . . . . . . . . . 1

What is AutoFlix? . . . . . . . . . . . . . . . . . . . . . . . . . 1
Why Animate? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Understanding Movies . . . . . . . . . . . . . . . . . . . . . . . . 2
Hardware Considerations . . . . . . . . . . . . . . . . . . . . . . 4
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Chapter 2: AutoFlix Tutorial . . . . . . . . . . . . . . . . . . . . 7

Projecting a Movie . . . . . . . . . . . . . . . . . . . . . . . . . 7
Making a Movie . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Walkthroughs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Moving the Look-at Point . . . . . . . . . . . . . . . . . . . . . . 18
More About Kinetic Animation . . . . . . . . . . . . . . . . . . . . 18
File Naming Conventions . . . . . . . . . . . . . . . . . . . . . . 19
Interactive Movies . . . . . . . . . . . . . . . . . . . . . . . . . 20
Gimmicks, Goodies, and Gory Details . . . . . . . . . . . . . . . . 22

Fast Shaded Movies . . . . . . . . . . . . . . . . . . . . . . 22
Composite AutoLISP Routine . . . . . . . . . . . . . . . . . . 22
Custom Animation . . . . . . . . . . . . . . . . . . . . . . . 22
Version Variable . . . . . . . . . . . . . . . . . . . . . . . 25

Chapter 3: AutoFlix Reference Section . . . . . . . . . . . . . . . . 27

Command Line Switches . . . . . . . . . . . . . . . . . . . . . . . 27

Movie Compilation Switch . . . . . . . . . . . . . . . . . . . 27
Movie Projection Switches . . . . . . . . . . . . . . . . . . . 27
Modal Switches (Projection/Compilation) . . . . . . . . . . . . 28
Help Switch . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Command Line Examples . . . . . . . . . . . . . . . . . . . . . 29

Movie Command Files . . . . . . . . . . . . . . . . . . . . . . . . 30

AutoShade Rendering Files . . . . . . . . . . . . . . . . . . . . 30
Slide Files . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
ASCII Text Files . . . . . . . . . . . . . . . . . . . . . . . . . 31
Other Movies: Splicing . . . . . . . . . . . . . . . . . . . . . 33
AutoFlix Commands . . . . . . . . . . . . . . . . . . . . . . . . 33

The *PAUSE Command . . . . . . . . . . . . . . . . . . . . . . 33
The *LABEL Command: Cue Marks . . . . . . . . . . . . . . . . 34
The *SPEED Command . . . . . . . . . . . . . . . . . . . . . . 34
The *DELAY Command . . . . . . . . . . . . . . . . . . . . . . 35
The *SCORE Command . . . . . . . . . . . . . . . . . . . . . . 35
The *OVERLAY and *ADVANCE Commands . . . . . . . . . . . . . . 37

i

AutoFlix User Guide

The *BACKGROUND Command . . . . . . . . . . . . . . . . . . . . 38
The *GOTO Command . . . . . . . . . . . . . . . . . . . . . . . 39
The *CALL Command . . . . . . . . . . . . . . . . . . . . . . . 39
The *RETURN Command . . . . . . . . . . . . . . . . . . . . . . 39
The *QUIT Command . . . . . . . . . . . . . . . . . . . . . . . 39
The *BUTTON Command . . . . . . . . . . . . . . . . . . . . . . 40
The *DISSOLVE Command . . . . . . . . . . . . . . . . . . . . . 41
The *REPEAT and *LOOP Commands . . . . . . . . . . . . . . . . 42
The *SYSTEM Command . . . . . . . . . . . . . . . . . . . . . . 42
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

A Sample File . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Appendix A: AutoFlix Installation . . . . . . . . . . . . . . . . . . 47

Hardware and Software Requirements . . . . . . . . . . . . . . . . . 47
Disk Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Loading the Software . . . . . . . . . . . . . . . . . . . . . . . . 48
Configuring AutoFlix . . . . . . . . . . . . . . . . . . . . . . . . 48
Projecting the Sample Movies . . . . . . . . . . . . . . . . . . . . 49

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51


List of Illustrations

Figure 2-1. Demo drawing in plan view . . . . . . . . . . . . . . . . 8

Figure 2-2. 3D demo drawing . . . . . . . . . . . . . . . . . . . . . 9

Figure 2-3. Camera and kinetic motion paths . . . . . . . . . . . . . 10

Figure 2-4. Smoothed camera path . . . . . . . . . . . . . . . . . . . 11

Figure 2-5. Ready to roll! . . . . . . . . . . . . . . . . . . . . . . 11

Figure 2-6. Select look-at point . . . . . . . . . . . . . . . . . . . 12


List of Tables

Table 2-1. Projection control keys . . . . . . . . . . . . . . . . . . 7

Table 2-2. Scene, filmroll, and rendering file names . . . . . . . . . 20

Table 3-1. Dissolve types . . . . . . . . . . . . . . . . . . . . . . 41








ii





Chapter 1

Introduction to AutoFlix


What is AutoFlix?

AutoFlix(tm) is a program and associated AutoLISP(R) routines that generate
animated pictures from AutoShade(tm) renderings of three dimensional
AutoCAD(R) models. AutoFlix will also animate wireframe slide files (.SLD
files) created with AutoCAD, AutoShade, or AutoSketch(R). In addition,
AutoFlix includes a programming language that allows you to create interac-
tive presentations incorporating wireframe graphics, renderings, text,
music, and even other application programs.



Why Animate?

The leap from two dimensional drawing to three dimensional modeling is
steep and often daunting. Suddenly, you're confronted with spatial rela-
tionships that cannot be directly seen and you move from representing a
design in symbolic form on a piece of paper to building a model in space.
Though difficult to master, the rewards of three dimensional design are
great; the design can be viewed from different locations, detail drawings
may be extracted from one original model and, with solid modeling, mass
properties may be analytically calculated.

If mastery of three dimensional design ushers in a new degree of realism,
animation adds another dimension to the ability to understand and communi-
cate computer models of real world objects. Animation is literally four
dimensional CAD---it lets you move around inside the computer model you've
built and lets objects within that model move as real objects do. If you
want to understand the geometry of a complex mechanical part, you pick it
up and observe it as you turn it with your hand. You wouldn't think of
renting some office space without visiting it, walking around, and seeing
whether it will "work" for the use you have in mind. The human ability to
perceive spatial relationships through movement is precisely why so many
designers build physical models. Computer animation offers the same sense
of the correctness of a design much earlier in the design cycle, at much
less cost.

Computer animation is very much part of the leading edge of computer graph-
ics technology, and doing animation on a personal computer equipped with a
mass market graphics board involves some compromises. Yet, that being
said, AutoFlix affords any user equipped with AutoCAD, AutoShade, an EGA,
and some patience the ability to bring three dimensional models to life in
a way no other technique can begin to approach.




1

AutoFlix User Guide

Audience

In the instructions that follow we assume that you are an experienced
AutoCAD user skilled in three dimensional modeling with AutoCAD. Further,
we assume you've used AutoShade, understand the objects it places within
the AutoCAD drawing (lights, cameras, and scenes), and have some
familiarity with the facilities AutoShade provides for customizing the pic-
tures it generates. Finally, we assume you have an IBM PC or compatible
with an EGA or compatible graphics board with 256K of graphics memory and
an enhanced color monitor (640 x 350 resolution or better), and that you've
configured AutoShade to run with the EGA as its rendering display.



Understanding Movies

The process of making computer movies with AutoFlix is easy to understand.
AutoFlix simply carries AutoShade's camera analogy one more step. There is
some jargon associated with AutoFlix, and we'll try to explain it here.
Even if you skim the rest of this document, please read this section in its
entirety; the rest of the manual freely uses terms defined only here.

To make a movie, first you have to have something to star in it. Since the
"actors" in an AutoFlix movie are nothing but abstract computer models, you
might be tempted to refer to them as "bit players", but you won't get any
encouragement from us. The Model, which is just an AutoCAD 3D drawing,
comprises the objects that appear in the movie. AutoFlix makes a movie
exactly as a movie camera does, by taking multiple pictures and then pre-
senting them to the eye rapidly enough to create the illusion of smooth
motion. Every movie is a collection of Frames. Each frame is simply a
still picture which, in AutoFlix, is generated by AutoShade as a rendering
slide (.RND) file. (We'll talk about movies made using .SLD files later.)

The AutoLISP routines supplied with AutoFlix allow you to make three kinds
of movies, Walkthroughs, Kinetic Animation, and Interactive movies. In a
Walkthrough, the camera is the only object that moves. The resulting movie
examines the model from a moving viewpoint, but objects in the model do not
move relative to one another. Walkthroughs are frequently used with archi-
tectural models to obtain a feeling for how the design will be perceived
when built, and as "walkarounds" can be a powerful tool for visualizing
complicated mechanical parts. Walkthroughs are the simplest kind of movie
to make whether with a real camera, or with AutoFlix.

In Kinetic Animation objects in the model move as well. The camera posi-
tion can be fixed or moving, but the key "action" in the movie is changes
occurring in the model. Since kinetic animation requires you to specify
which objects move and how, "scripting" for such a movie is much more com-
plicated than for a walkthrough and is best attempted only after you've
gained some experience with walkthroughs.

Regardless of the type of movie, the concept of a Motion Path is central to
AutoFlix. All motion in AutoFlix movies, whether motion of the camera, its


2

(1) Introduction

look-at point, or objects within the model is specified by motion paths. A
motion path is an open or closed Polyline that traces out the path an
object follows during the movie. Motion proceeds along the polyline in the
direction it was originally drawn (the order PEDIT walks through the verti-
ces). If a movie is to contain n frames, AutoFlix divides the motion path
into n equal segments (using the AutoCAD DIVIDE command), and advances the
objects controlled by the path one segment per frame. Consequently all
motion in an AutoFlix movie is at fixed speed; objects never accelerate nor
decelerate along their paths. This restriction is imposed only by the
AutoLISP code and can be transcended by modifying the supplied routines.

The process of making a movie with AutoFlix is as follows. First you edit
your three dimensional model with AutoCAD and, using the standard AutoShade
Lisp code, place the light sources to be used in the movie. Then you load
the AutoFlix Lisp code (this need not be in the same run of the drawing
editor). AutoFlix asks you to identify a polyline that traces out the
motion of the camera and, optionally, polylines that define motion of the
look-at point and (for kinetic animation) objects in the model. All of
these paths can involve Z axis motion, and some can involve rotation as
well. After these specifications are made, AutoFlix creates the scenes for
the movie. For a walkthrough, an AutoShade camera is placed at each point
along the camera path polyline and a scene is created containing that
camera and the light sources you've chosen. After AutoFlix has placed the
cameras, you use the FILMROLL command to create the filmroll for AutoShade.
For kinetic animation the process is somewhat different; since the model
changes from frame to frame, one filmroll is generated per frame, and is
automatically written by the AutoFlix Lisp code. Obviously the time and
disc space this requires are much greater than for walkthroughs. In either
case, two ASCII files are automatically generated. The first is a script
(.SCR) file which, when executed by AutoShade, generates a rendering slide
for each frame of the movie. The second is an AutoFlix command (.MVI) file
that is used to compile the rendering slides into the final movie.

You can define a musical sound track or Score to accompany the movie. The
score is coded from musical notation and can be synchronized with the
visual part of the movie. You may also include vector slides generated by
AutoCAD, AutoSketch, or AutoShade, and simple ASCII text files. You can
overlay multiple images (as in a double exposure or matte shot with a
camera), permitting easy composition of titles. You can even "splice"'
other movies previously generated with AutoFlix into a movie, allowing you
to assemble a complete movie from separately-developed scenes.

You can make your movies interactive by incorporating vector slides con-
taining Button definitions that can be aligned with text, vector images, or
shaded pictures. AutoFlix pauses after displaying an image containing but-
tons and allows the viewer to select a button with a pointing device (such
as a mouse). Projection of the movie can be directed to any frame based on
the button chosen, as specified in the command language in the .MVI file.
Since frames with buttons can lead to other frames with buttons and buttons
can take on any graphical representation desired, this permits the con-
struction of hypertext documents incorporating links between text, vector
and raster images, music, and full motion animated sequences.


3

AutoFlix User Guide

Interactive movies can serve as the graphical interface to user-developed
applications of arbitrary complexity. A movie can, in response to user
input, activate other application programs. This could be used, for exam-
ple, to permit pointing to a picture of an object to retrieve its descrip-
tion from a database, or to activate a program that commanded a video disc
player to show a segment explaining the object.

After the rendering or slide files have been prepared (they must, of
course, be made for the EGA), they are Compiled into the final movie (.MOV)
file. The AutoFlix program (AFEGA) performs this, displaying each frame
and then compressing it into a very compact form that can be rapidly dis-
played. The resulting movie may then be Projected with AutoFlix on any
machine equipped with an EGA. AutoFlix permits variable speed projection,
single frame examination, skipping backward and forward to Cue Marks, and
more.



Hardware Considerations

Generating animated movies is one of the most computationally-intensive
tasks one can undertake with a personal computer. Many users consider
making pictures with AutoShade time consuming, yet each frame of a movie is
a complete full-shaded image, and to achieve smooth motion these shaded
images are displayed at rates upward of five frames per second. Clearly,
you want the fastest machine you can lay your hands on to make the pictures
composing a movie. Fortunately, AutoFlix completely automates the process
of making the renderings, so it's perfectly reasonable to let your PC make
the pictures for a movie overnight.

Once a movie is generated (i.e., the .MOV file is written), any computer
with an EGA suffices to replay it. The constraint on how fast a movie is
projected is primarily imposed by the EGA itself, so a 20 MHz 80386 does
not project movies noticeably faster than a 6 MHz PC/AT. Some EGA imple-
mentations may be faster than others, and this may affect speed. The VGA
used in the IBM PS/2 machines is significantly faster than an EGA at pro-
jection time. Storing the movie on a RAM disc improves projection speed,
and if the projecting computer has enough main RAM (below 640K) to hold the
entire movie, projection speed will be almost doubled. In any case,
AutoFlix permits you to specify a machine-independent projection speed to
guard against the ignominy of a future fast computer projecting your mas-
terpiece in less than a second.

Finally, please indulge us in a little philosophical discussion on hardware
specificity. Those used to typical Autodesk products may consider the
description of AutoFlix somewhat strange in its focus on the IBM PC and the
EGA card. There's a reason for this: doing animation on a personal
computer is just barely possible, and accomplishing something useful
requires one to delve deep into the nitty-gritty of the hardware to program
around its quirks. Thus, AutoFlix for the EGA is exactly that, AutoFlix
for the EGA. Supporting another device is not a matter of writing another
"driver"; it involves making an in-depth study of the new device's capabil-
ities and performance and designing a new program for it.

4

(1) Introduction

Consider this: a one minute movie at five frames per second at the EGA's
resolution is, absent compression, over 33 megabytes of data. Thirty-three
megabytes a minute. Even if you had the disc to store all of it, no PC
could move that amount of data fast enough to show the movie at anything
like five frames a second. So if you want to do practical movies, you have
to find some way to compress this vast amount of data to a manageable size
and still be able to load it into the display adaptor fast enough to simu-
late reasonably smooth motion. If you can figure this out, next you need a
way to make the display flip instantly from one frame to the next. This is
usually accomplished by partitioning the color table or by moving the
pointer to the frame buffer, and these functions are also highly device
dependent. The algorithm used for EGA data compression reduces a typical
frame to less than 5% of its original size.

Just for fun, let's compare what we're doing with real movies. Consider a
90 minute movie shot on 35mm film. We'll use a very conservative figure of
8000x8000 pixels as the resolution of the screen, and assume 36 bits per
pixel of color information (This is probably conservative also). Then each
frame contains 288 megabytes of information. Theatrical features are pro-
jected at 24 frames per second, so each second of film is equivalent to 6.9
gigabytes, each minute 414 gigabytes, and the entire movie comes to, are
you ready, 37 terabytes of information (37,324,800 megabytes). Isn't it
remarkable that Siskel and Ebert can summarize 37 terabytes of data in two
sentences? What was that about a picture being worth 1000 words?



Summary

AutoCAD was initially a tool for two dimensional drawing. As it has
evolved into a full three dimensional modeling system and continues to add
more powerful objects and tools for construction, it has become able to
model real world objects. Three dimensional modeling is very different and
perhaps will always remain inherently more difficult to master than draw-
ing. AutoShade affords those building three dimensional models the ability
to view them as realistic pictures, moving from the abstraction of a wire
frame image to the concreteness of a photograph.

AutoFlix takes the next step, from three dimensions to four, by introducing
motion into AutoCAD's models and AutoShade's pictures. Because computer
animation is new, or because it is commonly associated with special effects
for science fiction movies, or perhaps because moving objects on computer
screens imply "video games" to many, animation is sometimes dismissed as
frivolous or impractical. Nothing could be further from the truth. With
the computers and display hardware widely available today, animation pushes
the limits of the possible. Yet, when applied intelligently to appropriate
problems, it can be the most powerful tool available to comprehend three
dimensional structures, evaluate design alternatives, and communicate what
is in the designer's mind to his client's eye. In addition, the ability
for the user to interact with animated presentations that can incorporate
text, vector graphics, shaded renderings, and music is a new medium: hyper-
text. AutoFlix allows the user to explore applications of this new medium,


5

AutoFlix User Guide

calling on the standard and effective Autodesk design tools to create the
images that make up the bulk of any hypertext product. The ability to exe-
cute other programs in response to user interaction allows arbitrary
extensibility and incorporation of new media into hypertext documents.

Animation is an exacting art and consumes computer time in quantities
inconceivable to many computer users. Yet the ability to bring computer
models to life, to involve the viewer in them, and the comprehension gained
by doing so amply rewards the effort to master the techniques of animation
and the tens of millions of calculations the computer must make for every
second of animation you see. Once you start to use AutoFlix in design and
presentation, you'll not only acquire a powerful new tool for your work,
you'll begin to apply techniques that the evolution of computer hardware
and software will, over the next decade, carry to levels of power, conve-
nience, and realism that we can scarcely imagine today.







































6





Chapter 2

AutoFlix Tutorial


Projecting a Movie

Now that you've installed AutoFlix (Appendix A) and learned some of its
terminology, it's time to make your own AutoFlix movie. With the directory
containing AutoFlix and its sample movies as the current directory, enter
the command:

drive> AFEGA DEMO

The movie that you are viewing shows a combination of animation along a
motion path and kinetic animation of objects in the drawing. The animation
along the motion path is demonstrated by the changing viewpoint as you move
towards the building. The kinetic animation is demonstrated by the sliding
doors that open as you approach. To stop the projection and return to DOS,
just press the Q or Esc keys. The movie is initially projected at maximum
speed. Each press of the - key slows down the projection (the effect may
not be apparent until you press the key a number of times), and after
you've slowed the projection you can speed it back up with the + key.

Table 2-1. Projection control keys

Key Description
Space Toggle start and stop.
H Halt projection.
R Resume projection.
- Slow projection. Starts projection if
stopped.
+ Speed projection. Starts projection
if stopped.
Q Quit. (Return to DOS).
Esc Quit. (Return to DOS).
Home Go to first frame. Stops projection
if running.
End Go to last frame. Stops projection if
running.
Next frame. Stops projection if run-
ning.
Previous frame. Stops projection if
running.
Next cue mark. Stops projection if
running.
Previous cue mark. Stops projection
if running.

While the movie is projecting, you can halt projection by pressing the H
key and restart it with the R key. While projection is halted, the current

7

AutoFlix User Guide

frame name, number, and speed factor are shown at the bottom of the screen.
The space bar acts as a toggle that stops the movie if it is running and
starts it if it's stopped. While the movie is stopped, the
key advances to the next frame and the key backs up to the
previous frame; the Home key goes to to the start of the movie, and the End
key advances to the end. The and keys advance to
the previous and next cue marks, respectively. Note that the ability to
halt projection and examine the movie is entirely distinct from interaction
afforded by inserting buttons in frames. When a user is selecting buttons
in an interactive movie, the movie is considered to be running.



Making a Movie



This section has six figures that cannot be
included in the ASCII version of this document.
The figures are in the supplied AutoCAD drawing
file FLIXDOC.DWG, as named views FLIX1 through
FLIX6. You can use AutoCAD Release 9 or later
to view or plot these figures if you wish.



In this tutorial, you will recreate the kinetic animation demo movie you
just projected. To begin, make sure that the environment variables are set
to accommodate a large AutoLISP program:

drive> SET LISPHEAP=39000
drive> SET LISPSTACK=5000

Now bring up the DEMO drawing (DEMO.DWG) in AutoCAD's drawing editor. You
are looking at a building in plan view.













Figure 2-1. Demo drawing in plan view

To get a better idea of what the drawing looks like in 3 dimensions, we
have defined a view of the building in 3D. To restore the view, type in
the following commands:

8

(2) Tutorial

Command: VIEW
?/Delete/Restore/Save/Window: Restore
View name to restore: 3D

You should now see the building from a three dimensional viewpoint. Note
the doors at the front of the building and the Autodesk logo on the back
wall. Let's do a hidden line removal to visualize the building more effec-
tively:

Command: HIDE












Figure 2-2. 3D demo drawing

It is often easier to work in a plan view when placing animation motion
paths in a three dimensional drawing. Let's restore the previous (plan)
view by typing:

Command: ZOOM
All/Center/Dynamic/Extents/Left/Previous/Window/: Previous

At this point, you're ready to place the animation motion path information
in the drawing. To begin, draw a polyline to define the motion path the
camera will follow during the movie. Start your motion path in the upper
right corner of the screen. Draw the polyline so it goes right through the
front doors of the building and slightly inside.

Command: PLINE
From point: etc...

Next, you'll draw two kinetic motion paths to define the motion of the two
doors on the front of the building.

Command: PLINE
From point: etc...

First, draw a short motion path (polyline) for door #1 with the start point
on the camera path and the end point directly above it. The length and
direction of the polyline should be equivalent to the distance you wish to
move the door and the direction in which you wish to move it.




9

AutoFlix User Guide

Command: PLINE
From point: etc...

Next draw a short motion path (polyline) for door #2 with the start point
on the camera path and the end point directly below it. Your drawing
should now look like Figure 2-3.





















Figure 2-3. Camera and kinetic motion paths

We would like the camera to move along as smooth a path as possible. You
can make polylines smoother using the "Fit curve" or "Spline curve" option
of the PEDIT command.

Command: PEDIT
Select polyline to edit:
Close/Join/Width/Edit vertex/Fit curve/Spline curve...
.../Decurve/undo/Exit : Spline
Close/Join/Width/Edit vertex/Fit curve/Spline curve...
.../Decurve/undo/Exit :

At this point the camera path should look something like:













10

(2) Tutorial

















Figure 2-4. Smoothed camera path

As with any movie, we need lights to illuminate our actors and sets. We
have provided you with some previously defined lights. You can enable the
lights by turning on the AutoShade layer:

Command: LAYER
?/Make/Set/New/ON/OFF/Color/Ltype/Freeze/Thaw: Thaw
Layer(s) to Thaw: ASHADE
?/Make/Set/New/ON/OFF/Color/Ltype/Freeze/Thaw:

Your drawing should now look like this:

















Figure 2-5. Ready to roll!

Now you're ready to begin the generation of the animation sequence. Load
the AutoFlix kinetic animation code by typing the commands:

Command: (load "afkinet")



11

AutoFlix User Guide

Then type:

Command: ANIMLENS
Animation lens focal length in mm <50>: 30

This sets the lens of the movie camera to 30mm, a shorter focal length than
the default. This will give you a better field of view as the camera
approaches the building. Now enter the command:

Command: ANIMATE

AutoFlix prompts you:

Choose camera path polyline:

Use the object selection cursor to pick the camera path polyline you just
drew. Next you're asked:

Choose look-at point (or Path or Same):

The look-at point is the location the camera should stay aimed at as it
moves through the drawing. It can be a fixed point, or can move along the
camera path or a different path. For this example, you'll select a fixed
look-at point 60" high on the back wall of the building in the drawing.
Since you're working in plan view, specify an .XY filter and select the
midpoint of the wall (as shown in Figure 2-6). When prompted for Z, enter
60 (inches).

Choose look-at point (or Path or Same): .XY
of (need Z) 60
















Figure 2-6. Select look-at point

After you've defined the look-at point, you're asked:

Base name for path (1-3 characters): FLY



12

(2) Tutorial

AutoFlix creates cameras, scenes, and output files to represent the movie
it is making. The base name is used as a prefix to generate names for
these objects. AutoFlix expects a one to three character name that does
not duplicate a name already used for a camera, light, or scene in this
drawing. Next, AutoFlix asks you how many frames to generate for the
movie:

Number of frames: 10

Enter the number of frames desired. AutoFlix typically projects about five
frames per second, so if you enter 20, you'll end up with about a four
second movie. This is typical. Since each frame requires a rendering from
AutoShade, if you enter too large a number, the movie will take a very long
time to generate and consume a large amount of disc space. If you generate
too few frames, the movie will be over in an instant and, if a long camera
motion path is specified, the motion will be too jumpy. When designing a
movie, start with a small number of frames (10 to 20), and increase the
count to a higher value after you're happy with the result.

As the camera moves along its motion path polyline, it can also move in the
Z axis (that is, rise or fall as it moves). To specify this motion,
respond to the next two prompts.

Initial camera elevation <0">: 600
Final camera elevation <0">: 120

The default is the current elevation in inches. Our camera is starting at
a height of 50 feet (600 inches) above the ground. By the time it passes
through the doors it will be at a height of 10 feet (120 inches). If the
look-at point is fixed and the camera is moving in the Z direction, it will
automatically incline up or down to keep the look-at point in the center of
the frame.

Since you can specify a moving look-at point with an arbitrary polyline and
the look-at point can also move up or down as the action unfolds, the pro-
gression of camera angles throughout the movie can be extremely complex.
Proper scripting of this motion in three dimensions calls for experience
more in choreography than programming.

Finally, you can have the camera twist around the axis from the camera to
the look-at point. AutoFlix asks you:

Twist revolutions <0>:

In normal movies this feature is rarely used, as changing the vertical axis
is rarely part of the cinematic repertoire and can lead to motion sickness
if overused. However, carefully applied, it lets you create arbitrary
three-axis rotation in space. The twist is specified as the number of full
(360-degree) rotations the camera makes about its look-at axis as the movie
progresses and need not be an integral number of turns (e.g., for three
quarters of a revolution, specify 0.75 ). Positive numbers produce
counter-clockwise rotation of the picture; negative numbers cause clockwise
rotation of the picture.

13

AutoFlix User Guide

Next AutoFlix will prompt you for the layers to move. This is the part of
the program that enables kinetic animation. The idea is that each object
you wish to move is placed on a separate layer. Everything on that layer
will be moved the distance and direction specified by the kinetic motion
path polyline you draw. If you get confused as to which kinetic animation
path goes with which layer name, refer back to Figure 2-3. (In the DEMO
drawing, the doors have been placed on layers "DOOR1" and "DOOR2".)

Layer to move: DOOR1
Choose motion path polyline for DOOR1:
Rotations <0>:
Z translations <0>:
Layer to move: DOOR2
Choose motion path polyline for DOOR2:
Rotations <0>:
Z translations <0>:
Layer to move:

Finally, you're asked to select the lights to illuminate the movie. This
process is identical to choosing the lights for a regular AutoShade scene:

Select a light: D1
Select a light: POINT2
Select a light: POINT3
Select a light: POINT4
Select a light: POINT5
Select a light:

Use the object selection cursor to point to a light. When you pick a
light, its name is echoed to confirm the selection and the prompt is
repeated. You may pick the lights in any order. After you've chosen all
the lights you wish to use, press to end the selection process.
AutoFlix pauses for a while as it computes the scene parameters, and then
inserts the cameras and scenes in the drawing. The cameras appear as
normal AutoShade cameras with names formed from the base name you've speci-
fied, but the scenes appear only as little tick marks at coordinates (2,2)
.

The complete sequence of prompts for our tutorial looks like this:

Enter AutoCAD, bring up DEMO.DWG in plan view, and View it from a 3D view-
point.

Command: VIEW
?/Delete/Restore/Save/Window: Restore
View name to restore: 3D

Remove hidden lines for better visualization.

Command: HIDE




14

(2) Tutorial

Return to plan view.

Command: ZOOM
All/Center/Dynamic/Extents/Left/Previous/Window/: Previous

Draw camera path.

Command: PLINE
From point: etc...

Draw kinetic motion path for door #1.

Command: PLINE
From point: etc...

Draw kinetic motion path for door #2.

Command: PLINE
From point: etc...

Smooth the camera path out with a spline.

Command: PEDIT
Select polyline to edit:
Close/Join/Width/Edit vertex/Fit curve/Spline curve...
.../Decurve/undo/Exit : Spline
Close/Join/Width/Edit vertex/Fit curve/Spline curve...
.../Decurve/undo/Exit :

Thaw the layer with the lights on it.

Command: LAYER
?/Make/Set/New/ON/OFF/Color/Ltype/Freeze/Thaw: Thaw
Layer(s) to Thaw: ASHADE
?/Make/Set/New/ON/OFF/Color/Ltype/Freeze/Thaw:

Load the animation AutoLISP routines.

Command: (load "afkinet")

Set the movie camera lens size.

Command: ANIMLENS
Animation lens focal length in mm <50>: 30










15

AutoFlix User Guide

Initiate the animation sequence.

Command: ANIMATE
Choose camera-path polyline:
Choose look-at point (or Path or Same): .XY
of (need Z) 60
Base name for path (1-3 characters): FLY
Number of frames: 10
Initial camera elevation <0">: 600
Final camera elevation <0">: 120
Twist revolutions <0>:
Layer to move: DOOR1
Choose motion path polyline for DOOR1:
Rotations <0>:
Z translations <0>:
Layer to move: DOOR2
Choose motion path polyline for DOOR2:
Rotations <0>:
Z translations <0>:
Layer to move:
Select a light: D1
Select a light: POINT2
Select a light: POINT3
Select a light: POINT4
Select a light: POINT5
Select a light:

AutoFlix draws the cameras, creates a filmroll file for each frame, gener-
ates a script file (FLY.SCR) for AutoShade, and generates a movie command
file (FLY.MVI).

Command:

Now QUIT AutoCAD and invoke AutoShade to create the pictures that make up
the movie. Pick the "Script" item from the "File" menu and type in the
"base name" you chose for the movie (in this example, "FLY"). AutoShade
executes this script file and generates a rendering (.RND) file for each
frame in the movie. If you've specified a large number of frames or the
model is very complicated, this is a fine time to get some sleep, brush up
on your Latin verbs, or cue up the "Ring Cycle" on the CD player.

After AutoShade has generated all of the renderings, you must run AutoFlix
to generate the movie file. The ANIMATE command creates a movie command
(.MVI) file, so you can compile the movie with the command:

drive> AFEGA -MFLY
This invokes AutoFlix as a "movie compiler". The "-M" switch instructs it
to generate a movie file named FLY.MOV. AutoFlix reads the list of render-
ings that make up the frames of the movie from standard input, so this com-
mand reads the list from the .MVI file written by the AutoFlix Lisp



16

(2) Tutorial

routines. Note that since the .MVI file is read by redirecting standard
input (via the " the command line. To project the resulting movie, enter:

drive> AFEGA FLY

Congratulations! You've just made your first movie! o=ne r=XYES}



Walkthroughs

Walkthroughs are similar to the kinetic animation that you just accom-
plished. The difference is that there is no prompting for layers to move
and you have to explicitly write out the filmroll file that AutoShade uses
to create the renderings for your animation sequence. Walkthroughs also do
not prompt for lens size (you may change the lens size in AutoShade).

To load the walkthrough routines, enter:

Command: (load "afwalk")

This defines the WALKTHROUGH command, which you can use in a manner similar
to the ANIMATE command to generate cameras and scenes according to the
camera motion path you define. Since no kinetic animation is involved, you
can instruct AutoCAD to write all of this information to one filmroll file
by entering:

Command: FILMROLL
Enter filmroll file name :

Now you can QUIT AutoCAD and invoke AutoShade to create the pictures that
make up the movie. Execute AutoShade and load the filmroll file just writ-
ten by AutoCAD (in this example, DEMO). You'll be asked to select a scene
from one of those generated by the walkthrough. Select several of the
scenes and make wire frame pictures to verify that the movie camera posi-
tions were correctly specified. Use the "Expert" dialogue in the
"Settings" menu to set "Screen percent" to -1; this causes the picture to
be presented as actually seen by the camera instead of being forced to fill
the screen. If the images are tiny or are clipped by the edges of the
screen, use the "Camera Position" item in the "Settings" menu to adjust the
"Lens in mm" until all of the scenes in the filmroll generate reasonable
pictures.

AutoShade normally "stretches" the contrast in the pictures it generates,
to take advantage of the full brightness range provided by the display
screen. To generate realistic animation, you should disable this stretch-
ing (otherwise, the brightness of objects will jump from frame to frame in
a disconcerting manner, just as caused by an overzealous automatic exposure
system in a movie camera). To disable contrast stretching, pick the "Shad-
ing model" item from the "Settings" menu and turn off "Stretch contrast".
When you disable contrast stretching, it's up to you to adjust the ambient,


17

AutoFlix User Guide

diffuse, and specular factors to generate reasonable lighting in all of the
scenes in the movie. For your initial experiments with movie making, you
can skip this process and leave "Stretch contrast" on; after you've mas-
tered the basics of animation, you can deal with the refinement of consis-
tent lighting.

After you've set the lens and optionally the shading model, you're ready to
turn AutoShade loose generating the pictures for the movie. Like ANIMATE,
the WALKTHROUGH command generates an AutoShade script file to assist you;
run this script to produce the rendering (.RND) files, and then invoke
AutoFlix to compile the movie, as described above for the ANIMATE command.



Moving the Look-at Point

If you want to have the look-at point move as the camera moves in a walk-
through or kinetic animation movie, enter "P" to the "Choose look-at point"
prompt and you'll be asked:

Choose look-at path polyline:

Point to the polyline that defines the camera aim point path. Then you'll
be asked:

Initial path elevation :
Final path elevation :

and you should enter the initial and final Z coordinates of the camera
look-at path. The "zz.zz" default will be the current elevation setting in
the drawing. If you want to use the same path for the camera and its
look-at point, enter "S" to the "Choose look-at point" prompt. When the
same path is used for the camera and the look-at point, the camera will
point to the next point along the motion path as it moves (at the last
point on the motion path, it will maintain the relative orientation of the
previous frame).

As with any operation utilizing AutoCAD's 3D capabilities, the use of X/Y/Z
filters can make many operations in creating AutoFlix movies much easier.
Filters allow you to pick locations or objects in the drawing and then
supply additional coordinate information as required. A typical use is to
select a point in plan view (yielding the X and Y coordinates) and to then
type in the height (Z).



More About Kinetic Animation

Rotations <0>:

As the object moves along its motion path, you can have it rotate about its
center (the center of rotation is the point at which the motion path poly-


18

(2) Tutorial

line starts with respect to the object). If you want the object to rotate,
enter the number of complete rotations the object should make during the
movie. You can enter any real number for the rotation: for a half turn
enter 0.5. If the number of turns specified is positive, rotation will be
counterclockwise; if negative, clockwise. Lots of rotation can make a
movie hard to comprehend; remember: a little goes a long way.

Z translation <0>:

As the objects trace the path of the motion path polyline in the X-Y plane,
they can also move along the Z axis. The Z translation specifies how far
the objects should rise or fall during the movie. If you enter zero (or
accept this as the default), objects move parallel to the X-Y plane,
retaining their current elevation. If you enter a positive Z translation,
they ascend as the movie progresses. A negative Z translation makes them
fall.

Unlike a walkthrough, where one filmroll is created containing a scene and
camera for all the frames, kinetic animation creates a separate filmroll
file for each frame in the movie. Since a filmroll file is the representa-
tion of the three dimensional model used to generate the picture, and in
kinetic animation the model changes from frame to frame, the need for this
is evident. If you don't have a lot of free disk space, you might want to
make a filmroll of the model and multiply its size by the number of frames
you want to create. That will tell you if you have enough free space to
hold all the filmroll files.

The process of generating the filmrolls and advancing the objects in the
model is completely automatic. You can sit and watch or go do something
useful while AutoCAD chugs along.



File Naming Conventions

For scripts (.SCR) and movie command files (.MVI), the three-character base
name specified during the WALKTHROUGH or ANIMATE command is used as the
file name. For example, if you entered "FLY" as the base name, the script
file would be named FLY.SCR and the movie command file would be named
FLY.MVI.

Scene names, filmroll files, and rendering files are named in a slightly
different manner. Their names also include the base name, but an "S" is
added to the beginning of the name and the frame number is added to the
end. For instance, for a movie with base name "FLY" consisting of three
frames, the resulting files would be named as shown in the following table.








19

AutoFlix User Guide

Table 2-2. Scene, filmroll, and rendering file names

Scene Names Filmroll Files Rendering Files
SFLY1 SFLY1.FLM SFLY1.RND
SFLY2 SFLY2.FLM SFLY2.RND
SFLY3 SFLY3.FLM SFLY3.RND



Interactive Movies

AutoFlix movies need not be viewed from start to finish with the viewer a
passive recipient of the information therein. Taking advantage of the com-
puter as movie projector allows AutoFlix movies to be made interactive,
permitting the user to view sections of the movie at will, walk through
complex branching structures, and browse through large amounts of informa-
tion easily. Interactive movies can be used for applications as diverse as
user-directed product demonstrations, interactive fiction, programmed
instruction and tutorials, client presentations, and more. The term
"interactive movie" can be somewhat misleading; many interactive applica-
tions of AutoFlix involve little or no full-motion animation. Instead,
they use the branching and user interaction afforded by the button mecha-
nism to build hypertext publications that link text, vector images, shaded
pictures, sound, and animation into a nonlinear document with which the
user can interact.

Key to understanding interactive movies is the concept of a Button. But-
tons are invisible rectangular screen regions defined in an AutoCAD slide
with an AutoLISP-implemented BUTTON command, or in an ASCII text file.
Each button has a number that must be unique within the frame in which it
appears. Since the buttons themselves are invisible, it's up to you (the
movie producer) to create the visible object that the user selects to acti-
vate each button. This can be vector material in the AutoCAD slide
containing the buttons, ASCII text in the text file containing the buttons,
or components of a shaded picture onto which the slide or text file is
overlaid.

To create a button definition slide, enter the AutoCAD drawing editor and
edit the drawing to which you wish to add buttons. If the buttons refer-
ence objects in the AutoCAD drawing, draw the objects first. Now load the
AutoLISP button definition program with the command:

Command: (load "afbutton")

Now to add a button, simply enter the command:

Command: BUTTON

You'll be asked:

First corner of button:
Second corner of button:


20

(2) Tutorial

Point to one corner of the rectangular region for the button and pick it
with the pointer, then drag the rubber-band box to the other corner and
pick it. You can specify any two diagonal corners of the rectangle; the
order is unimportant. Finally, you're asked:

Button number:

You should enter the button's number, from 1 to the maximum number of but-
tons in the image. You can skip button numbers if you like, but the movie
definition is easier to understand if you don't. After you've answered
these prompts, the BUTTON command draws a rectangular box from the lower
left corner of the button to the upper right (this is how the button defi-
nition is actually communicated to AutoFlix), and draws the button number
inside the box to help you keep track of what buttons you've defined and
where they are in the picture. These components of the button are visible
only in AutoCAD: they do not appear when the slide is viewed with AutoFlix.

All buttons are placed on AutoCAD layer $$BUTTONS so you can operate on
them as a group. When placing buttons on top of graphical icons, be gener-
ous with button size. It is very frustrating to the user not to know where
an icon must be picked. The following is a typical button definition:

Command: BUTTON
First corner of button: (Point to it)
Second corner of button: (Point to it)
Button number: 5

AutoFlix draws the button

Command:

Once you've placed all of the buttons in the AutoCAD drawing, make a slide
of the image with the MSLIDE command. When you include this slide in an
AutoFlix movie, the button definitions will be activated. If you wish to
add buttons to AutoShade pictures, you can accomplish this by overlaying a
slide or ASCII text file containing the buttons on top of the shaded pic-
ture. The composite frame will contain the buttons defined by the slide or
text file.

When AutoFlix projects an image with buttons, it pauses and displays an
arrow cursor. The user moves the cursor with the pointing device and
selects a button by pressing the pointer's "pick" switch. Picking an area
outside a button has no effect. The action taken when the user picks a
particular button is governed by *BUTTON commands in the movie command file
(described in Chapter 3).

To see what active buttons exist within a frame, press the second button on
the pointer. This toggles the display of rectangles around all on-screen
buttons.





21

AutoFlix User Guide

Gimmicks, Goodies, and Gory Details


Fast Shaded Movies

The AutoFlix Lisp routines usually generate full shaded images for all ren-
derings. If you'd like to use fast shaded images instead (because your
model doesn't require full shading or to save time as you're experimenting
with a new movie), first load the "afwalk" or "afkinet" AutoLISP file.
Then, before entering the WALKTHROUGH or ANIMATE command, enter:

Command: SHADETYPE

You'll be asked:

Fast shading for images? :

If you respond "Y", fast shading will be used. Alternatively, you can edit
the script file written by the Lisp code and change all occurrences of
"fullshade" to "fastshade".


Composite AutoLISP Routine

The AutoFlix Lisp code is broken into three separate modules for walk-
throughs, kinetic animation, and button definition purely to save node
space and allow MS-DOS users to run with a smaller LISPHEAP setting and
still have a chance of loading the Lisp code for AutoFlix and AutoShade at
the same time.

If your LISPHEAP is large enough, you can load all of AutoFlix's Lisp rou-
tines at once:

Command: (load "aflix")

This defines the WALKTHROUGH, ANIMLENS, ANIMATE, BUTTON, and SHADETYPE com-
mands. Note: This large AutoLISP program may not run reliably in your
system, depending on the amount of node space you have.


Custom Animation

The animation routines supplied with AutoFlix should be viewed as just the
jumping off point for developing more powerful animation. The movie com-
piler itself can accommodate any set of images. You can design AutoLISP
animation code for anything: harmonic motion, beam flexure, articulated
figure animation, you name it! The only limits are your imagination and
patience.

For example (and by popular demand!), here is an AutoLISP program to create
the movie "Teapot Breathing Exercises".



22

(2) Tutorial

; Breathing Teapot movie

; This program should be run whilst editing the
; drawing file TPBR.DWG, which contains the teapot as
; a block definition and has a camera, light, and
; scene named S already created with the AutoShade
; Lisp commands.

; Designed and implemented by John Walker

; Instructions:

; ACAD
; 2
; TPBR
; (load "tpbr") { This file }
; tp { Make filmrolls }
; tps { Make scripts }
; quit y

; SHADE
; Pick script
; Select TPBR as script
; { AutoShade makes the renderings }

; AFEGA -MTPBR ; { AutoFlix compiles the movie into TPBR.MOV}

; Utility routine to make a sequence of filmtrolls

(defun tmk (f lf)
(while (<= f lf)
(setq ang (* ainc f))
(command "insert" "teapot"
'(10 10) "XYZ"
(- 1.0 (* 0.2 (sin ang)))
(- 1.0 (* 0.2 (sin ang)))
(+ 1.0 (* 0.4 (sin ang)))
0
)
(command "filmroll" (strcat "tpf"
(itoa f)))
(setq f (1+ f))
(setq ang (+ ang ainc))
(command "erase" (entlast) "")
)
)







23

AutoFlix User Guide

; Command to make teapot filmroll files

(defun C:TP ()
(setq nf 36)
(setq ainc (/ (* 2.0 pi) nf))
(command "layer" "make" "teapot" "")
(tmk 0 9)
(tmk 27 35)
)

; Create AutoShade script and AutoFlix command file.
; Note that the command counts on automatic
; recognition of re-used frames and exploits temporal
; symmetry in the motion of the teapot.
;

; Utility routine to write AutoShade script file

(defun tsmk (f nf inc)
(while (/= f nf)
(setq s (strcat "tpf" (itoa f)))
(write-line (strcat "open " s) af)
(write-line "scene s" af)
(write-line "spercent -1" af)
(write-line "lens 45" af)
(write-line (strcat "fullshade " s)
af)
(setq f (+ f inc))
)
)

; Utility routine to write AutoFlix command file

(defun tmmk (f nf inc)
(while (/= f nf)
(write-line (strcat "tpf" (itoa f)) af)
(setq f (+ f inc))
)
)















24

(2) Tutorial

; Command to generate script and command files

(defun C:TPS ()
(setq af (open "tpbr.scr" "w"))
(write-line "record on" af)
(tsmk 0 10 1)
(tsmk 27 36 1)
(close af)
(setq af (open "TPBR.MVI" "w"))
(tmmk 0 10 1)
(tmmk 8 -1 -1)
(tmmk 35 26 -1)
(tmmk 28 36 1)
(close af)
)


Version Variable

Each of the AutoFlix Lisp routines defines the variable FLIXVER as a string
indicating the release level of the Lisp portion of the product. Thus, you
can determine the release level by typing:

!FLIXVER

at any AutoCAD "Command:" prompt, after one of the AutoFlix Lisp routines
has been loaded.



























25

























































26





Chapter 3

AutoFlix Reference Section


Command Line Switches

AutoFlix responds to various switches on the command line that invokes it.
Some of these switches affect compilation of movies, others projection, and
some specify default modes during compilation that can be overridden at
projection time. This section describes the effect of these switches.


Movie Compilation Switch

-Mfile Compile movie to file.MOV.

The "-M" switch places AutoFlix in movie compilation mode. If this switch
is absent, AutoFlix acts as a movie projector. To compile a movie,
AutoFlix reads a list of movie compilation commands from standard input
(these commands are described below, and consist primarily of the list of
rendering files generated automatically by the AutoLISP code). This input
is normally supplied by redirecting standard input to a previously
generated .MVI file. Modal switches set at compilation time are saved in
the movie and become the defaults used when the movie is projected.


Movie Projection Switches

-Clabel Cue (start projection) at label.
-D Always replay from disk file.
-L Lock keyboard (Esc Q needed to quit).
-Q Project silently (ignore sound track).
-R Force reconfiguration of pointing device.
-Wfile Write last frame information to file.

If AutoFlix is called without the "-M" switch, it acts as a movie projector
and expects a movie (.MOV) file to be named on the command line. The
".MOV" file type need not be specified: AutoFlix supplies the default if
it's missing. If AutoFlix is able to load the entire movie into the com-
puter's main memory (below 640K), it will be able to project the movie
almost twice as fast as if it's required to read each frame from external
storage, even a RAM disk. Consequently, AutoFlix normally tries to load
the movie into memory and, if it fits, projects it from memory. If you
know that the movie doesn't fit, set the "-D" switch at projection time and
AutoFlix won't bother seeing if the movie fits; this can save about 20 sec-
onds for large movies.

Projection of a movie usually starts with the first frame. If the "-C"
switch is supplied, projection starts at the label whose name appears in


27

AutoFlix User Guide

the switch specification. This allows programs that invoke AutoFlix to
direct it to project any desired portion of the movie. Other programs may
then use AutoFlix to implement help or on-line tutorial facilities.

If you're showing the movie as a continuously-running display in a hostile
environment such as a trade show, a dealer showroom, a schoolroom, an
office, or a home with small children or large iguanas, you can set the
"-L" switch to keep the movie from being interrupted by idle taps on the
keyboard. If the "-L" switch is specified, all of the keyboard commands
during projection are disabled. You can terminate AutoFlix, but only by
pressing the magic sequence Esc Q.

If the movie you're projecting has a sound track, it will normally be
played as the movie is projected. If you want to project the movie without
the sound track, set the "-Q" (for "Quiet") switch, and the movie will be
shown in blessed silence.

The first time you use AutoFlix to project a movie, you're asked to specify
which pointing device you will be using for interactive movies. Subse-
quently, AutoFlix assumes you're still using the same device and doesn't
ask. If you set the "-R" switch, AutoFlix asks you to select a new point-
ing device, allowing you to reconfigure the program when you install a new
device.

The "-W" switch makes AutoFlix write a file that permits other programs to
identify the frame and section of the movie where projection stopped. The
file, written with file type .MVF if none is specified, is a three line
ASCII text file. The first line specifies the frame number where projec-
tion halted (this is the line number, ignoring comments, in the movie com-
mand file). The second line contains the closest label prior to the final
frame, and is blank if no label appears between the final frame and the
start of the movie. The third line gives the name of the file from which
the final frame was derived (as specified in the movie command file).
"Whatever is this for?", you may ask. Suppose you've built a complete
architectural model of a large multi-story building. You can make a walk-
through movie of the building, and place labels in the movie command file
at each place the viewer enters a new room. The viewer can then watch the
movie, halt at any desired room, and be automatically beamed into AutoCAD
AEC(R), editing the drawing of the room he stopped in.


Modal Switches (Projection/Compilation)

-F Project forward.
-I Ignore pauses in movie.
-Nnumber Project movie number times.
-P Project palindromically.
-Snumber Delay number milliseconds per frame.

This group of switches affect both compilation and projection. During com-
pilation they specify default projection values (to be used at projection
time if the corresponding switch is not specified then). If specified at
projection time, they override any values supplied in compilation.

28

(3) Reference Section

The "-N" switch allows you to specify how many times the movie will be pro-
jected. This defaults to zero, which causes the movie to be shown over and
over until interrupted by the viewer. When a movie is shown repeatedly,
you can cause it to be shown from the start to the end over and over by
setting the "-F " switch, or palindromically: front to end, end to front,
and so on, with the "-P" switch. If neither was specified at compilation
or projection time, forward projection occurs. The "-S" switch lets you
control the speed at which the movie is projected in terms of milliseconds
per frame. If no specification is made, AutoFlix projects the movie as
fast as it can load the frames into the display. If you specify a speed
faster than AutoFlix can project, projection occurs at the maximum rate
possible. The basic speed in milliseconds per frame set by the "-S" switch
becomes the base speed that is modified by the *SPEED command in the movie
command file.

The movie command file may contain *PAUSE statements to halt projection at
certain points in the movie. This permits user interaction, frequently
desired in instructional films or when using AutoFlix as a data retrieval
mechanism. If the "-I" switch is set at compilation time, all *PAUSE
statements in the movie command file are ignored. Even if the pauses are
compiled into the movie, you can ignore them at projection time by setting
the "-I" switch then.


Help Switch

-U Print how-to-call information.

Finally, the "-U " switch can be used to display a short description of how
to call AutoFlix and the switches available on its command line. This
information is also printed if AFEGA is called with neither a file name to
project nor the "-M" switch to compile a movie, and for various other call
errors.


Command Line Examples

AFEGA -MFILM
This reads the commands in file FILM.MVI and compiles a
movie into FILM.MOV.

AFEGA FILM

This performs forward projection of the movie file
FILM.MOV, including its soundtrack, if any.

AFEGA FILM -Q

Same as above, but without playing the soundtrack.




29

AutoFlix User Guide

AFEGA WALKTHRU -N5

This projects WALKTHRU.MOV five times.

You can use as many switches at once as are needed, provided they make
sense in combination.



Movie Command Files

When compiling a movie, the primary input is a list of the rendering,
slide, and text files that make up the frames of the movie. This list is
automatically generated as an .MVI file by the Lisp part of AutoFlix. The
basic format of the file is simply a list of file names, one per line. If
a file name is given without an extension, AutoFlix looks for it using sev-
eral extensions, in the following order:

1. .RND (rendering file)
2. .SLD (slide file)
3. .TXT (ASCII text file)
4. .MOV (another movie file)

If you have rendering, slide, text, or movie files with the same name, you
must specify explicit extensions to distinguish them from one another. If
a file name has an explicit extension, it is used and the search is
skipped.

In addition, you can specify various commands in the movie command file to
guide the compilation and projection of the movie. These commands are
described later in this chapter.



AutoShade Rendering Files

AutoShade rendering (.RND) output files are the files that will comprise
most frames of a movie constructed with AutoFlix's ANIMATE or WALKTHROUGH
Lisp routines. If no file type is specified on a frame name, AutoFlix
looks first for a .RND file.



Slide Files

In addition to AutoShade renderings, AutoFlix can read the vector slides
(.SLD files) generated by AutoCAD, AutoSketch, and AutoShade (for wire
frame images). These vector slides are easily made and are frequently used
as titles and silent movie style explanations. You can even compile a
movie composed entirely of slides to create wire frame movies, or collect a
set of slides into a movie that is viewed frame by frame, transforming
AutoFlix into a fast, convenient slide projector for presentations (and


30

(3) Reference Section

note that AutoFlix slides appear almost instantaneously instead of being
etched on the screen vector by vector). To include a slide file in a
movie, just supply its name in the .MVI file. You can even include slides
from an AutoCAD slide library by naming them with the syntax
"libname(slidename)". A file type of .SLB is always assumed for slide
libraries. Slides used with AutoFlix should contain only the 8 standard
AutoCAD colors (0 - 7); if a slide has colors in in the range (8 - 99),
they will be reduced to the basic set.

Colors from 100 to 255 are used by AutoFlix to implement buttons for inter-
active movies. If a slide frame contains vectors with colors in this range
and the slide is followed by one or more *BUTTON commands (or the slide is
part of an *OVERLAY - *ADVANCE group that is followed by a *BUTTON com-
mand), the slide must not contain vectors with colors from 100 to 255, as
these vectors would be misinterpreted as button definitions. If the slide
(or overlay group containing the slide) is not followed by *BUTTON com-
mands, colors in this range may be used, but it's a good idea to avoid
using colors above 99 in any case to prevent possible confusion. This
restriction applies only to vector slides, not AutoShade renderings that
may use all 256 colors.



ASCII Text Files

AutoFlix can also read simple ASCII text files. These files are displayed
using the system's raster text font. The color of the text and the back-
ground may be controlled by commands in the file; by default the text is
white with a black background. If no extension is supplied on the file
name in the .MVI file and the named file cannot be found as a .RND or .SLD
file, AutoFlix tries a .TXT extension. If found, this file is assumed to
be an ASCII text file. If you specify an explicit extension, you need not
use an extension of .TXT; any extension other than .RND, .SLD, and .MOV is
assumed to indicate an ASCII text file. Since each ASCII text file is dis-
played as one frame, only the first 23 lines in the file are displayed and
any material beyond column 80 is ignored.

The text and background colors may be set by embedding commands in the
text. At the start of a text file, the text color is set to white and the
background color to black. To change the color, include a command of the
form:

{text,background} or
{text}

The first form sets both the text and background colors, while the second
sets only the text color and leaves the background color unchanged. Text
and background colors are specified by numeric codes as follows:






31

AutoFlix User Guide

0 Black 5 Blue
1 Red 6 Magenta
2 Yellow 7 White
3 Green 8 Transparent
4 Cyan

Code 8, "transparent", may be specified only as a background color; it
causes the text to be drawn on top of any pre-existing material without
setting the box in which the text is drawn to any background color. This
allows you, in conjunction with the *OVERLAY command, to set contrasting
text directly on top of graphical objects.

For example, consider the text file:

This AutoFlix frame
{5}demonstrates the use
of {1,2}color{5,0} commands
in a text file.

When this file is included in a movie, the first line will display as white
characters on a black background. The remainder of the text will display
as blue characters on a black background, execpt for the word "color,"
which will be red on a yellow background.

Button definitions may be incorporated in an ASCII file through use of the
commands:

{(button-number} and
{)button-number}

to delimit the rectangle for a particular button. These commands declare
the corners of the button in the file; the first form specifies the left
side of the button, and the second form specifies the right side. They may
appear in any order in the text file and may span any number of lines in
the file. If only the left delimiter is supplied for a button, only the
character that follows it will constitute the button; if the right
delimiter is supplied alone, only the preceding character will be included
in the button. The button declarations themselves disappear from the text
file just as text color specifications do.

For example, the following ASCII text file includes two button definitions
for the words "Continue" and "Cancel".

Okay, what would you like to do now?

{(1}Continue{)1} {(2}Cancel{)2}

When button definitions span mutliple lines of the text file, the first
spanned line defines the top edge of the button, and the last spanned line
defines the bottom edge. For example, the following text file defines one
button surrounding the text, "Go ahead, make my day!"



32

(3) Reference Section

Pick {(1}Go ahead,
when make my
ready! day! {)1}

When creating multi-line text buttons like this one, it is helpful to lay
out the basic text first. Then use your text editor's "character insert"
mode to add the button definitions to the text.

Refer to the *BUTTON command to see how buttons are used in an interactive
movie.



Other Movies: Splicing

You can "splice" previously-generated movies into your movie by naming an
.MOV file in the movie command file. If no explicit .MOV extension is sup-
plied, AutoFlix looks for an .MOV file only if no .RND, .SLD, or .TXT file
is found with that name. When you include another movie by splicing, the
frames from the spliced movie are inserted as if they had been compiled by
AutoFlix. In particular, labels (see below) in the spliced segment must be
unique across the entire composite movie if *GOTO or *CALL commands are to
be used with them. Spliced segments are always treated as simple frames.
You cannot, for example, overlay two frames from a spliced segment. (If
that's the effect you want, you should have overlaid the frames when making
the original segment.) o=ne r=XYES}




AutoFlix Commands

The following sections describe commands you can include in the .MVI file
to control the projection of the final movie. All commands begin with an
asterisk (*) in column 1. You can enter command names in upper-case or
lower-case letters as you wish, one per line. Any line in the .MVI file
that does not begin with an asterisk is assumed to be the name of an .RND,
.SLD, .TXT, or .MOV file (or an .SLB slide library member) to be incorpo-
rated in the movie.


The *PAUSE Command

You can halt projection at any place in the movie by including a *PAUSE
command in the movie command file. As with all movie commands, the "*"
must appear in the first column and be immediately followed by the command
name. When a *PAUSE command is encountered during projection, AutoFlix
goes immediately into manual projection mode, just as if you pressed the
space bar or the "H" key. Press "R" to continue projection. The "-I" com-
mand line switch causes AutoFlix to ignore *PAUSE commands.





33

AutoFlix User Guide

The *LABEL Command: Cue Marks

The *LABEL command is used to divide a movie into sections. You can
rapidly skip between sections when in manual projection mode. In addition,
labels are used to mark the destinations for transfers of control within
the movie engendered by user interaction with buttons. AutoFlix reports
the current section on the screen when stopped, and writes the final sec-
tion label to a file when called with the -W switch at projection time.
The label command consists simply of the command name and the label, for
example:

*label Introduction

Label names may be up to 18 characters long, and may contain any nonblank,
non-control characters. Labels are recognized regardless of the case of
letters; ontology, ONTOLOGY, and OnToloGY are all the same to AutoFlix.
There is no need for all labels in a movie to be unique, unless *GOTO or
*CALL commands are to be used with them. Labels do not nest; there is only
one level of sections. If labels have been placed in a movie, at projec-
tion time you can immediately skip to the next label by pressing the arrow> key and back to the previous label with the key.


The *SPEED Command

Though the AutoFlix Lisp routines always generate uniform motion, you can
control the projection speed of a movie by including *SPEED commands in the
movie command file. The speed is specified as follows:

*speed factor

where factor is a number that specifies the new speed as a percentage of
the current speed. For example, suppose we're doing a walkthrough and go
around a sharp corner between frames 23 and 26. We want to slow down the
projection so the viewer doesn't get disoriented by the rapid motion. We
might include the following specifications in the command file.

frame21
frame22
*speed 50
frame23
frame24
frame25
frame26
*speed 200
frame27
frame28

The first *SPEED command slows down projection to 50% of the previous speed
before entering the sharp bend, and the second restores the old speed by
doubling the speed back to its old value. The *SPEED command scales the
speed specified by the -S switch used at compilation or projection time.


34

(3) Reference Section

If no -S switch was specified, AutoFlix always projects at the maximum rate
and thus ignores all *SPEED commands. You can force projection at the max-
imum rate regardless of the -S switch by including a

*speed 0

command in the movie, but note that if you do so you cannot subsequently
slow down the movie since any factor times zero is zero.


The *DELAY Command

The *DELAY command allows you to insert explicit delays in the projection
of the movie, specified in terms of milliseconds. While the *SPEED command
is intended to adjust projection speed to compensate for the rate of object
motion, the *DELAY command is primarily used to hold frames, especially
titles, on the screen so that they can be assimilated. A delay is
requested by the statement:

*delay time

where time is the delay desired in terms of milliseconds (1000 milliseconds
equals one second). The delay is executed when the *DELAY command is
encountered at projection time, but is ignored in manual (single frame)
projection mode. For example, suppose we wish to add three title slides to
the start of a movie. We might specify:

title1.sld
*delay 2500
title2.sld
*delay 2500
title3.sld
*delay 2500
frame1
frame2
frame3

These delay statements hold each title slide on the screen for 2.5 seconds,
allowing time for the viewer to read and assimilate it.


The *SCORE Command

To add a musical score to the movie, simply define the music in a *SCORE
command that precedes the first frame the music is to accompany. Music is
specified in a music definition language very similar to that used by the
PLAY statement in Microsoft BASIC. The music definition may continue onto
as many lines as are required by specifying continuation with the "\" char-
acter at the end of each line continued.

A simple musical scale can be played with the command:

*score cc#dd#eff#gg#aa#b

35

AutoFlix User Guide

The musical score is played in the background as the movie is projected;
the music starts the moment the *SCORE command is encountered and continues
to play as subsequent frames are projected. If another *SCORE command is
encountered while the previous piece of music is still playing, AutoFlix
pauses until the current selection completes, then begins the new segment
of music. You can wait for the end of a selection without starting another
piece of music with a null *SCORE command:

*score

Music is encoded on the *SCORE command as follows:


Notes

A - G Plays the corresponding musical note in the current octave.

# or + Makes the preceding note a sharp. For example, the sequence
"AC# A'' plays a "C sharp" between the two A's.

- Makes the preceding note a flat. For example, the sequence
"DB-D" plays a "B flat'' between the two D's.

Nn Plays note numbered n. Notes are numbered 0 to 84, with 0
indicating silence (a rest). This allows playing any note
regardless of the current octave setting.


Octaves

On Sets the current octave to n. Octaves are numbered from 0 to
6, with an initial default of 4.

> Increases octave by 1.

< Decreases octave by 1.


Time, Tempo, and Rests

Ln Sets the length of the following notes to n, where n is the
reciprocal of the note length. For quarter notes, set n to
4, for sixteenth notes, 16, and for whole notes, set n to 1.
This sets the default length for notes that follow. You can
override the default length by following a note with an
explicit length for that note. For example, "CA8" plays a C
note with length set by the last L specification followed by
an eighth note A. The initial default length is 4, for quar-
ter notes. Note length may range from 1 to 64.

Pn Pause (rest) for the time specified by n. The length of the
rest is specified in terms of the reciprocal of the note
length. P4 is a quarter note rest; P1 is a whole note rest.

36

(3) Reference Section

Tn Set the "tempo", or number of quarter notes per minute to n.
The initial default is 120 beats per minute. Tempi may range
from 32 to 255. The higher the tempo setting, the faster the
music will play.

. Makes the preceding note or pause "dotted". That is, the
time it plays is increased by 1/2 of its normal time. Multi-
ple dots may be specified, with each increasing the length
played by half the amount of the preceding dot. For example,
the sequence "BA.B" plays two B notes around an A note that
sounds half again as long as the B's. The sequence "BA..B"
sounds the A 7/4 as long as the B's; the time for the A is
calculated as 1+1/2+1/4 as a result of the two dots.


Articulation

MN Sets "music normal" (the default mode). Each note sounds for
7/8 of its specified time, followed by 1/8 silence.

MS Sets "music staccato". Each note sounds for 3/4 of its spec-
ified time, followed by 1/4 silence.

ML Sets "music legato". Each note sounds for its full allotted
time with no intervening silence.


Continuation

\ Continues the score on the next line of input. Any charac-
ters that follow the back slash are ignored.

Musical notation on the *SCORE command is interpreted regardless of the
case of letters (i.e., "O3AC# BE" and "o3ac# be" have identical meanings),
and spaces are ignored everywhere except after the note number that follows
the "N" specification. This permits unambiguous specification of a length
override after a numerically specified note. Thus, "O5L4ACACN11 1ACAC"
plays a low B whole note in the middle of a high pitched alternation of A
and C quarter notes.

The musical specification language used with the *SCORE command makes it
relatively easy to encode sheet music. However, the ability of a standard
IBM PC-type machine to generate music is sorely limited. Volume is fixed,
waveform is always a strident square wave, only one voice is possible (pre-
cluding harmony or counterpoint), and there is no control over the ampli-
tude envelope of notes. If more powerful music synthesis capabilities
become widespread, the *SCORE command may be extended to generate much more
realistic music in future versions of AutoFlix.


The *OVERLAY and *ADVANCE Commands

Frequently it's desirable to overlay more than one image to form a frame in

37

AutoFlix User Guide

the movie. You might want to use a vector slide or a text file to title a
shaded picture, mix vector and raster text, or add buttons defined in a
vector slide or text file to a shaded image. You can accomplish all of
these tasks with the *OVERLAY and *ADVANCE commands which, used in pairs,
allow "multiple exposures"' and "matte shots" just as in real cinematogra-
phy.

To form a composite from two or more images, simply list the image names
after an *OVERLAY command and supply an *ADVANCE command to indicate the
end of the composited images. For example, to overlay a vector slide
called "subtitle" on a shaded image called "magpie", use the sequence:

*overlay
magpie
subtitle
*advance

The images being overlaid are drawn in the order they are named in the
movie command file, allowing you to control which material has priority
when images overlap one another.


The *BACKGROUND Command

Unlike shaded images, vector slides do not permit the specification of a
background color. You can overcome this limitation by using the
*BACKGROUND command in conjunction with the *OVERLAY and *ADVANCE commands.
You can clear the screen to any of the standard AutoCAD colors (0 to 7)
with the command:

*background color

where color is a number from 0 to 7 designating a standard AutoCAD color as
follows.

0 Black 4 Cyan
1 Red 5 Blue
2 Yellow 6 Magenta
3 Green 7 White

For example, to display a vector slide named "credits" on a blue back-
ground, use the sequence of commands:

*overlay
*background 5
credits
*advance

Material subsequently drawn with the same color as the background will be
invisible. You can take advantage of this to create some interesting spe-
cial effects. The *BACKGROUND command need not appear inside an *OVERLAY -
*ADVANCE pair, but since used alone it generates only uniformly colored
screens, it isn't very useful by itself.

38

(3) Reference Section

The *GOTO Command

The *GOTO command allows you to interrupt the flow of a movie and resume
projection following a label named on the *GOTO command. The command:

*goto Introduction

causes projection to continue with the first command following the label
"Introduction". The *GOTO command is primarily used in interactive movies
to return control to a frame that interacts with the viewer.


The *CALL Command

The *CALL command transfers control to the label named on the command in
the same manner as the *GOTO command, but in addition saves the number of
the frame that follows the *CALL command on the return stack. The return
stack retains the frames that follow the last 100 *CALL commands, and per-
mits a called sequence of the movie to resume at the saved location with
the *RETURN command. For example, the command sequence:

frame1
frame2
*call helper
frame3
*quit
*label helper
help1
help2
*return

projects frames in the order frame1, frame2, help1, help2, frame3, and then
exits to the operating system.


The *RETURN Command

The *RETURN command resumes projection at the frame that follows the most
recent *CALL command or *BUTTON command with a ":" separator (see below).
The *RETURN command is used to return from multiply-referenced subsequences
in the movie.


The *QUIT Command

The *QUIT command causes AutoFlix to terminate the projection of the movie
and return control to the operating system. It may be placed at the end of
a movie command file to force the movie to be shown only once, but is pri-
marily used in interactive movies to leave the movie when the user
requests.




39


AutoFlix User Guide

The *BUTTON Command

The *BUTTON command is the primary mechanism used to introduce
interactivity in a movie. If a frame has buttons within it, AutoFlix
pauses after displaying the frame, activates the pointing device, displays
an arrow cursor, and waits for the viewer to select a button. When a
button is chosen, AutoFlix examines the *BUTTON commands that follow the
frame and executes the one whose number corresponds to the button chosen by
the viewer. The *BUTTON command is specified as:

*button index=label or
*button index:label

where index is an integer corresponding to the button's number (specified
when the button was created) and label is the name of a label (specified on
a *LABEL command) at which projection should resume when that button is
chosen. If a "=" character separates the index from the label, the trans-
fer to the label is equivalent to a *GOTO command. If the ":" separator is
used, the transfer is treated as a *CALL command and the sequence called
may return after the *BUTTON command with a *RETURN command. For example,
let's assume we have a vector slide frame called "chooser" that contains
six buttons. Four of these buttons permit the user to jump to various
places in the movie, the fifth activates a help sequence common to the
movie, and the sixth allows him to exit AutoFlix. The movie commands for
this frame would be:

*label choose
chooser
*button 1=credits
*button 2=intro
*button 3=action
*button 4=conclusion
*button 5:helper
*button 6=bailout
* Goto to redisplay after help
*goto choose
*
*label bailout
*quit

If you just want to use a single button to pause after displaying a frame,
you can employ an abbreviated form of the *BUTTON command. A *BUTTON com-
mand used alone, with no index or label, simply waits until any button is
pressed and then continues projection. For example, to display a slide
named "pressok" with the message "Select OK when ready." and then wait for
its OK button to be selected, you could use:

frame10
frame11
pressok
*button
frame12


40

(3) Reference Section

If a *BUTTON command without arguments is used in conjunction with other
*BUTTON commands, it is ignored.

When constructing an interactive movie, it is best to have at least one
button that accesses the *QUIT command. However, if a pointing device is
configured, the viewer can terminate an interactive movie by pressing the
Esc key and then picking any button.

If the user configured AFEGA with no pointing device, projection does not
pause when a frame containing buttons is encountered. Instead, AutoFlix
simply proceeded to the next frame. If it's important that your movie be
viewable on a machine without a pointing device, you must carefully place
the interaction points so that the movie will project properly when they
are all ignored.


The *DISSOLVE Command

Normally the transition between frames of a movie is instantaneous. In
real movie making, numerous type of "dissolves" are used to transition
between scenes, providing special effects for the filmmaker. The *DISSOLVE
command provides this facility and allows you to choose from a variety of
dissolve styles. To select a dissolve, place the command:

*dissolve type

before the reference to the frame file that will be the final result of the
dissolve. The type specification is a number that selects the type of dis-
solve to be used. Available dissolves are shown in the following table.

Table 3-1. Dissolve types

Number Description
0 Instantaneous change
1 Wipe top to bottom
2 Slide from bottom to top
3 Slide from top to bottom
4 Slide from right to left
5 Slide from left to right
6 Wipe left to right
7 Wipe right to left
8 Lap dissolve
10 Vertical bar dissolve
11 Horizontal bar dissolve

For example, to make the transition from frame "welcome" to frame "goaway"
by sliding "goaway" over "welcome" from right to left, you'd use the
sequence:

welcome
*dissolve 4
goaway


41

AutoFlix User Guide

Note that a dissolve specification affects only the presentation of the
next frame projected; it is not a running mode that affects all subsequent
frames. Too many dissolves can make a movie tiresome, so use them judi-
ciously for the best effect. If more than one dissolve specification has
been executed before a frame is encountered, the most recent one is used.


The *REPEAT and *LOOP Commands

You can cause a sequence of commands in the movie command file to be exe-
cuted repeatedly, without actually replicating the commands. This is done
by enclosing the command sequence in a *REPEAT - *LOOP block. To repeat a
set of movie commands n times, use the sequence:

*repeat n
...Movie commands...
*loop

The movie commands within the loop can be any valid commands, including
other movies spliced in. This allows you to repeat film clips without the
overhead of including the original frames several times. Repeat loops may
be nested, limited only to the restriction that total nesting of *CALL -
*RETURN and *REPEAT - *LOOP pairs must not exceed 100. Note that nesting
of *REPEAT - *LOOP pairs is dynamic, as with BASIC FOR/NEXT loops, and that
arbitrary transfers of control may occur between a *REPEAT and its matching
*LOOP, but that the *CALL nesting level must be the same at the time a
*LOOP is executed as at the time of the matching *REPEAT. For example, to
flash between two slides named "new" and "original" 10 times, use the
sequence:

*repeat 10
new
original
*loop

The *REPEAT - *LOOP construct is useful for many special effects and
shouldn't be thought of as limited to just playing segments over and over.
For example, you can make objects blink by making one frame with some
objects missing and another with them present, then displaying the two
frames inside a repeat loop whose count is the number of blinks desired.
You can control the blinking rate by placing a *DELAY between the two
frames in the loop. You can even make "chaser lights" by making frames for
one cycle and then looping them.


The *SYSTEM Command

The *SYSTEM command executes another program. The program may perform any
desired functions; when it relinquishes control, AutoFlix resumes projec-
tion of the movie following the *SYSTEM command. The command has the form:

*system command


42

(3) Reference Section

where command is any valid MS-DOS command. Note, however, that the length
of the command may not exceed 19 characters (if you wish to use a longer
command, just make the command invoke a .BAT file containing the longer
command). When the program receives control, the EGA will be in text mode
and AutoFlix will have relinquished control over the pointer device. The
called program is free to use these devices as it wishes. When the program
terminates, AutoFlix reinitializes the EGA and pointer.

For example, to show three views of a part, then use AutoSketch to edit the
definition of the part, you might use:

*speed 10
pview1
pview2
pview3
*system sketch part
*speed 1000

While the program is executing, AutoFlix remains in memory. Consequently
the program you execute will have less memory available than when executed
directly from the DOS command prompt. The presence of a *SYSTEM command in
a movie causes AutoFlix to always project the movie from the movie file.
If AutoFlix loaded the movie into memory as it normally attempts to do,
there would be insufficient memory to execute most *SYSTEM commands.
Unfortunately, AutoCAD has a hard time being run from a *SYSTEM command.


Comments

Comments may be included in a movie command file as lines that begin with
an asterisk (*) and are either blank or contain no command starting in
column 2. Comments let you annotate complex movie command files so you can
understand them at a later date.



A Sample File

Here is a simplified example of a movie command file that uses many of the
available commands.

* Jaws 12: The Exiguity
*
* Show monitor adjustment slide
*label startup
focus.sld
* Let projectionist tune display
*pause
*label title
*overlay
* Show on a green background
*background 3
title1

43

AutoFlix User Guide

*advance
*delay 6000
title2
*delay 4000
*overlay
* Include standard copyright
copyright.txt
title3
*advance
*delay 4000
*label credits
* Credits come from a slide library
credlib(actors)
*delay 3000
credlib(director)
*delay 3000
credlib(producer)
*delay 3000
credlib(programmer)
*delay 20
*
* Main interactive dispatcher
*
*label whatp
whatpart
*button 1:attack1
*button 2:eatboat
*button 3:synopsis
*button 4=alldone
*button 5=wholething
*goto whatp
*
*label alldone
*quit
*
*label wholething
*call attack1
*call eatboat
*goto whatp
*
* First scene: shark attack
*
*label attack1
*
* J. S. Bach: Badinerie
*
*score L16O3F#8AF#C#8F#C#O2A8O3\
C#O2AF#4C#F#AF#G#F#G#F#FG#\
BG#A8F#8P16O3F#8AF#C#8F#C#O2A8O3C#\
O2AF#4AG#A8A8A8O3F#8\
O2A8A8G#8O3C#CC#8C#8C#8A8C#8C#8C8\
O2G#O3C#EC#D#C#D#C#\


44

(3) Reference Section

CD#F#D#ED#ED#C#EC#CC#F#C#CC#G#C#C\
C#AC#CC#AG#F#G#ED#C#E8D#8C#3\
att1
att2
att3
att4
...
* Here's the bloody part
*speed 50
att397
att398
att399
*speed 200
att400
*return
*
* Second scene: shark eats boat
*
*label eatboat
*
* Reuse open sea shots
*
att1
att2
*
eatb1
eatb2
eatb3
*return
*
* Plot synopsis of Jaws 11,
* "This Time It's Redundundant"
*
*label synopsis
synop1
synop2
*return

















45

























































46





Appendix A

AutoFlix Installation


Hardware and Software Requirements

AutoFlix is supplied on three 1.2 MB diskettes. You will need about 3.6 MB
of free space on your hard disk to load the AutoFlix program and the sample
movies. As stated in Chapter 1, AutoFlix runs only on IBM PC or compatible
computers with an IBM Enhanced Graphics Adapter (EGA) or compatible graph-
ics board equipped with 256K of graphics memory and an enhanced color moni-
tor (640 x 350 resolution or better). For interactive movies, one of the
supported pointing devices is required. PC-DOS/MS-DOS version 2.0 or
higher is required.

The Lisp routines supplied with AutoFlix require AutoCAD Release 9 or later
(they use the (ssget "X") feature heavily). AutoShade 1.0 for the IBM PC
may be used to generate renderings for AutoFlix movies. (AutoShade must be
configured to run with the EGA as its rendering display.) AutoSketch ver-
sion 1.02 or higher can generate slides for use with AutoFlix.



Disk Contents

Disk #1

AFEGA EXE (AutoFlix executable program)
AFLIX LSP (AFWALK.LSP, AFBUTTON.LSP, and AFKINET.LSP)
AFWALK LSP (Walkthrough animation code)
AFKINET LSP (Kinetic animation code)
AFBUTTON LSP (Interactive button code)
TPBR DWG (Breathing teapot drawing)
TPBR LSP (Breathing teapot Lisp routines)
TPBR MOV (Sample movie: Breathing teapot)
DEMO MOV (Tutorial movie)
DEMO DWG (Tutorial drawing)

Disk #2

ROBOT MOV (Sample movie: Robot)
ENGINE MOV (Sample movie: Engine)
SHUTTLE MOV (Sample movie: Space shuttle)
BOUNCE MOV (Sample movie: Bouncing ball)
PLAY BAT (Play sample movies once)
PLAYC BAT (Play sample movies continuously)
PLAYI BAT (Play sample interactive movie)

Disk #3


47

AutoFlix User Guide

PROPOSAL MOV (Sample interactive movie) o=ne r=XYES}



Loading the Software

In the examples given in Chapters 2 and 3, we assume that you've installed
AutoCAD and AutoShade in the same directory and that you're working with
that directory as the current directory. AutoFlix should be installed in
that same directory. If you've placed the products in different directo-
ries, or you keep drawings, filmrolls, and renderings in separate places,
we'll leave it up to you to shuffle things around so everything works.
There are no inherent restrictions on file placement in AutoFlix; the sim-
plifying assumptions herein are to prevent the understanding of what is
really going on from being lost in a welter of directory nomenclature and
equivocation about operating procedures.

Assuming that you've placed the AutoCAD and AutoShade program files in the
directory "\ACAD" on drive C:, a typical sequence of DOS commands to load
AutoFlix would look like this:


C> CD \ACAD (Change to AutoCAD directory)

(Insert AutoFlix diskette #1 in your A: disk drive)

C> COPY A:*.* (Copy AutoFlix diskette #1)

(Insert AutoFlix diskette #2 in your A: disk drive)

C> COPY A:*.* (Copy AutoFlix diskette #2)

(Insert AutoFlix diskette #3 in your A: disk drive)

C> COPY A:*.* (Copy AutoFlix diskette #3)



Configuring AutoFlix

The first time you project a movie with AutoFlix, you will need to config-
ure a pointing device for interactive movies. AutoFlix prompts you for a
device, as follows:

1. Autodesk Device Interface (ADI) Pointer
2. Microsoft Mouse
3. Joystick / Koala Pad
4. No pointing device

Pointer Selection:

Enter the number of the pointing device you have, and press . If you
don't have a pointing device, enter 4 and press . Note that keyboard

48

(A) AutoFlix Installation

cursor keys are not supported. On your pointing device, button 1 (or the
leftmost button) is the "pick" button. Button 2 toggles highlighting of
the button selection areas.



Projecting the Sample Movies

Several sample movies are supplied with AutoFlix, along with three commands
(batch files) that you can use to initiate the projection of the sample
movies.

PLAY plays the sample movies (except the interactive movie) once

PLAYC plays the sample movies (except the interactive movie) in an
endless loop

PLAYI plays the interactive "Architect's Proposal" movie (pointing
device required)



































49

























































50



Index



A FLIXVER variable 25

*ADVANCE command 37
afbutton.lsp file 20 G
AFEGA command line 27
afkinet.lsp file 11 *GOTO command 39
aflix.lsp file 22
afwalk.lsp file 17
ANIMATE (LISP command) 12 H
animation
custom 22 hardware requirements 47
ANIMLENS (LISP command) 12
ASCII text files 31
AutoShade rendering files 30 I

installation 47
B interactive movies 20, 40
terminating 41
*BACKGROUND command 38
BUTTON (LISP command) 20
*BUTTON command 40 K
buttons in ASCII text files 32
kinetic animation 18

C
L
*CALL command 39
camera aim point 12, 18 *LABEL command 34
command file 30 lens size 12, 17
commands 33 loading the software 48
comments in 43 look-at path 18
sample 43 look-at point 12
command line switches 27 *LOOP command 42
comments in command file 43
composite AutoLISP routine 22
configuration 27, 48 M
cue marks 34
custom animation 22 making a movie 8
movie
command files 30
D fast shaded 22
interactive 20, 40
*DELAY command 35 making 8
*DISSOLVE command 41 projecting 7
samples 49
splicing 33
F

fast shaded movies 22
file naming conventions 19

51

AutoFlix User Guide

O screen percent 17
SHADETYPE (LISP command) 22
*OVERLAY command 37 slide files 30
*SPEED command 34
splicing 33
P stretch contrast 18
switches 27
*PAUSE command 33 compilation and projection 28
pointing device 20, 28, 40 miscellaneous 29
projecting a movie 7 movie compilation 27
movie projection 27
*SYSTEM command 42
Q

*QUIT command 39 T

terminating interactive movies 41
R text files 31

reconfiguration 27
rendering files 30 V
*REPEAT command 42
requirements (hardware/software) 47 version variable 25
*RETURN command 39

W
S
WALKTHROUGH (LISP command) 17
sample movies 49 walkthroughs 17
*SCORE command 35

























52