AC3D™ Version 5.0

User Manual

© Copyright Inivis Limited 2005

# Introduction

## Welcome to AC3D

AC3D is designed to make the construction of 3D objects fast and easy. It is used to create 3D models for simulations, games, rendering ray-traced images, and for scientific and general data visualization.

AC3D runs on a wide range of standard hardware and is available across a number of popular platforms.

## AC3D terminology

### Vertex

A vertex is a single point in 3d space. It’s specified by three coordinates x, y and z. More than one vertex can occupy the same position in 3d space. A vertex is always owned by a single object, they cannot be shared between objects. A vertex is usually part of one or more Surfaces, but need not be.

### Surface

A surface in AC3D is a sequence of vertices. Surfaces are one of three types; polygons, lines or polygon outlines. The type of a surface defines how the surface is drawn and this can be easily changed. If a surface is set to be single-sided, it will only be visible from the front. Two-sided surfaces will be visible from both sides. It is more efficient to draw single sided surfaces and makes more sense when used as part of an object such as a sphere (where you can’t see the other side of the surfaces). Surfaces have a material attribute, which defines the color and quality (for lighting purposes). Each vertex referenced in a surface has an associated Texture Coordinate. Vertices can be shared between surfaces in the same object.

### Surface normal

A ‘surface normal’ specifies the direction a surface is facing. Normals are used in lighting calculations. Surface normals are automatically calculated by AC3D. A surface is defined as facing the viewer if the vertices can be seen in an anti-clockwise direction.

### Object

An AC3D object is a list of vertices, and surfaces that use these vertices. It also has other attributes such as a name and texture.

### Group

A group is a special object that has no surfaces or vertices but has other objects as children. Groups are created by selecting two or more objects and selecting ‘Group’ from the edit menu, or toolbar. Use the ‘Ungroup’ function to separate the objects.

### Select-mode

The select mode allows control over the level of editing in AC3D. In ‘Vertex’, individual vertices can be selected and adjusted. In ‘Surface’, operations are performed on one or more selected surface. In ‘Object’, whole objects are selectable. This allows manipulation of objects, even if they are part of groups. In ‘Group’, selecting all or part of an object automatically selects the top level object.

### Material

A material defines the color of a surface and also the attributes that define the way it will react to light e.g. shininess.

### Texture

Graphical images can be mapped onto the surfaces of an object. The images are usually from graphics files such as gif, jpg, bmp etc.

Texture coordinates

When the vertex of a surface is drawn, a texture coordinate specifies the position of a texture image to map to that point. A texture coordinate is a two dimensional (u,v) value which defines the point on the 2D image.

### Bounding box

When you make a selection of objects, surfaces or vertices, a green box outlines it. You can drag, resize or rotate this box to adjust the contents

## Getting help

| User interface components in AC3D have ‘balloon help’. Small ‘tooltip’ windows will popup when the mouse pointer rests over a button or field label. This feature can be switched off from File->Settings. When browsing through the menu items, the function on each item is described in the message text at the bottom of the AC3D window.

# Windows/Views

AC3D has a control panel on the left, plus 4 other view windows. There’s also the menu and toolbar at the top and an information bar along the bottom.

## Control panel

| This is where the main controls over the selection and draw modes are located. It also contains the surface-type controls, the palette of materials and the object name field. The top of the control panel shows information about the current selection. When the mouse is being used to interact with models, this area will also display current positions, distances moved and other related information.

## Toolbar

This contains buttons for some of the most commonly used functions.

All | select everything
None | clear the selection
Dup | duplicate the selection
Cut/Copy/Paste | uses AC3D’s internal clipboard
Group/Ungroup | put selected objects into a group/remove the group object
Flip x/y/z | flip the section about this axis
200%/50%/+10%/-10% | scale the selection uniformly
| Maximize a single view or view ALL together

## View windows

By default, AC3D starts with three two-dimensional (2D orthographic) view windows and a single three-dimensional (3D) window. The default view windows show Front, Left, Top and 3D camera angles onto the model space.

The dividers between the 4 view windows can be dragged to resize the views. Individual views are maximized by clicking on the view buttons at the top right of the main window (alternately, the F1-F5 keys can be pressed to switch between the different view configurations).

The main window size/position and other settings are saved when AC3D exits.

The configuration of the views, that AC3D starts up with, can easily changed from the menu Views->configure-views. |

Each view window has an individual menu at the top. This contains menu for the view angle (Camera), changing the viewpoint (e.g. focusing on the currently selected area), and some misc. controls that are dependent on the whether the window is set to 2D or 3D. |

The Camera angle can be changed at any time. This is useful if for example, you need to view (or work on) a model from the underside (bottom view).

The icons on the right of each view-menu allow you to use the mouse to navigate around the 3D space; show a clean image; and maximize the view window.

| Spin (3D views only) – press and drag
| Move/Pan view- press and drag
| Zoom in/out view – press and drag
| Show clean image switch (display without all surfaces outlines, grid, controls etc) – ideal for taking a snapshot of the image.
| Maximize/minimize view button

The spin, move/pan and zoom button are special controls that are held down (left mouse button) whilst the mouse is dragged. The views adjust their viewpoint as the mouse is dragged.

Additional views can be created from the menu Views->New-View.

Note that unlike in 2D CAD programs, the space presented in the AC3D view windows is not finite like a piece of paper has a limit and edges. You can move viewpoints just like a person moves around in real 3D space. There are no real edges to the available space (apart from reaching computational limits).

## Orthographic (2D) views

When a view camera is set to Front, Back, Top, Bottom, Left or Right, the view is non-perspective orthographic 2D.

An orthographic view shows a view parallel to a single axis.

The items on the main ‘Orth’ menu control how views set to these camera modes are drawn and what components are visible. For these settings, all Orth windows work together e.g. switching from filled to wireframe appearance in one Orth window causes all other Orth windows to also be set to wireframe.

Although it’s useful sometimes to work in a single view, seeing all the windows at once can be very helpful when positioning objects and laying out scenes.

### Navigating in 2D views

Use the mouse to pan or zoom an orth view. The keyboard arrow keys pan and control+up/down zooms in and out. Holding down a shift key increases the movement.zoom distance.

### The grids

In the orthographic windows, there are two grids - the draw grid (major lines) and the snap grid (minor lines). Both can be set from 'File->settings' and their display can be toggled on/off by selecting ‘Grid’ from the Orth menu (or pressing the ‘g’ key when focused in an orth window).

The Snap grid is shown by thin visual guide lines; the draw grid uses thicker lines. If ‘Gridsnap’ is switched on, moving/resizing/creating mouse movements will be aligned to the nearest snap grid points.

The grids can be configured to display units of any size e.g. for eighths of an inch, the major draw grid would be set to 1.0 and the snap grid set to 0.125 (1/8th).

### Using Background Images

Any orthographic (2D) window can display a background image. This can be useful for tracing shapes or laying out objects in relation to a scanned image e.g. a plan/map. Background images are set and unset from the Orth menu at the top of an orthographic window. All image formats that are supported by AC3D's texture loaders can be used as background images.

| Background images will scale and move with the views. By default, the image will be centred on the origin. The scale and position of the background image is by adjusted using alt and the cursor keys. Alt and the cursor keys, reposition the image, whilst Alt+Shift plus cursor up/down scale the image. Details of background images are currently not saved with models or when AC3D exits.

## 3D views

3D views display the current model in a three dimensional perspective and change instantly when any modifications are made to the current model.

The main 3D menu (at the top of the main AC3D window) contains controls to switch visibility of many attributes within the 3D window. Changing these control affects all 3D windows within the program.

A 3d grid is available - toggle with 'g'. The grid lies on the XZ plane (floor).

Press 'w' to toggle between wireframe and filled drawing, 't' toggles textures. 'l' toggles the fixed light. See the 3D menu for more viewing options.

### Navigating in 3D

Two navigation modes are available in this window – ‘spin’ and ‘walk’. These can be switched from the view’s own 3D menu or by pressing the ‘1’ or ‘2’ keys whilst the pointer is in the 3D window.

Spin mode Button controls at top of view for spin; pan and zoom From keyboard: Spin- up/down/left/right keys Zoom – Control+up/down
Walk mode Button controls at top of view for walk/fly; pan and tilt From keyboard: Move forward - up-key Move backward - down-key Turn - left/right keys Move up/down – alt+up/down Holding down the shift key with the above combinations increases the distance of travel

## Taking a snapshot image

Windows and Mac users can quickly copy the image shown in a view to the system clipboard by selecting the item on the Camera menu, which is on each View window.

After selection of this menu item, you may switch to another program e.g. an image editor or word processor program, and then ‘Edit->Paste’ within that – to insert the image

The same function is also available on the Edit menu (for the main 3D view). Note that the ‘Copy’ item on the Edit menu is used for the internal AC3D clipboard, the item that copies the image to the system must be used to retried the image.

| To increase the quality of the image Anti-aliasing can be switched on (from the view’s 3D menu). This ‘smooths’ the image. Anti-aliasing slows down rendering of the 3D image so it’s recommended that it only be used when preparing images for a snapshot.
| To temporarily remove vertices and surface outlines from the display – press before copying the image.

# Creating AC3D objects

## AC3D Surfaces

| Objects in AC3D consist of a collection of vertices and a number of surfaces that reference those vertices. A surface may be one of three types; Polygon, Polyline or Line. A polygon is a filled area, a Polyline is a wire-frame outline of the polygon (a loop that joins the start vertex to the end), a line has a specific start and end.

| Surface type is changed by pressing a button on the control panel. The Surface-type buttons are located at the bottom of the control panel (Poly, Polyline, Line): This panel also contains controls to set surfaces to be smooth or flat This determines the way that a polygon is drawn (it has no effect on lines or polylines).

If a surface is flat-shaded, the color across the surface will be constant. If it is shaded then the color will be 'graded' depending on lighting conditions.

Vertices can be shared between surfaces (i.e. one or more surfaces use the same vertex). If these surface types are set to ‘smooth’, the effect is of one continuous 'smooth' surface. The vertices MUST be shared for two surfaces to be smoothed together. This method of shading allows smooth looking objects to be created from relatively simple shapes.

### Crease angles

Each AC3D object has a crease-angle property. This is adjusted via the Tools->Object-property-editor. The crease angle is specified in degrees and is used to determine if adjacent surfaces in the object should be ‘smoothed together’ by averaging the surface-normals.

The angle between adjacent surfaces is measured and if this is larger than the crease angle, the surfaces will be smoothed.

A crease angle of zero degrees forces all surfaces to be flat. A crease angle of 180 degrees forces all surfaces to be drawn smooth.

Setting a surface type to ‘flat’, forces the surfaces to remain flat shaded. Setting a surface type to smooth allows it to be under control of the crease angle.

Example: a cylinder with all surfaces set to ’Smooth’.

crease angle = 0° All surfaces appear flat | crease angle = 45° The cylinder edges are ‘smoothed together’ but the end is flat because the angle between it and the edges is > 45° | Crease angle = 91° The cylinder sides are now shaded along with the edges.

### One-sided and Two-sided surfaces

The '1S' and '2S' buttons select how many sides a surface has (one-sided or two-sided). If a surface is single sided, it will only be visible from one side. The following pictures demonstrate this:

| In this model, there are three objects - a green rectangle, a red rectangle and a blue ellipse (made by creating an ellipse object and setting the surface type to be ‘Poly’). The red rectangle has been set to be single-sided '1S'. This means that it is visible from the 'front' but not from the back (the second image shows the whole model rotated).

Objects such as spheres and cubes, which do not have any interior surfaces visible, benefit from a speed optimization when being drawn with the surfaces single-sided.

### Surface normals

The direction a surface is facing is determined by its 'Normal' (indicated by arrows in the above diagram). This is a 3D graphics term for a line at right angles to the surface that indicates a direction. ). Normals are used to calculate surface colors and shading when the objects in AC3D are drawn. For smooth shading, vertex normals are automatically calculated by averaging normals of all connected surfaces.

Normals can be visualised in both the orthographic and 3d views (‘Normals’ on the ‘orth’ and ‘3d‘menus). This preview is useful for solving problems where, for example, some surfaces in an object are the wrong way around (this can cause surfaces to appear missing if they are one-sided, or the smoothing can appear uneven. Viewing the normals is also useful for use with the extrude function and can help determine the extrude settings that ensure that new surfaces face in the correct direction.

| This picture shows two spheres. The sphere on the left shows correct normals (i.e. all facing outwards). The sphere on the right shows some surfaces facing in the wrong direction. Notice how the shading is not consistent. AC3D automatically calculates the normals (both surface and vertex).

To flip the direction of a surface, use Surface->Flip normal. (This actually reverses the order of the vertices in the surface so that the automatically generated normal faces the opposite way).

## Creating new objects

| The AC3D control panel contains a number of 2D and 3D object shapes that can be created. New objects are created by selecting one of these buttons and clicking/dragging in one of the view windows.

### Polys/polylines/lines

To create a poly/polyline/line, click to position each point and either double-click or press the middle or right mouse button to end. The surface type can be altered later from the control panel if you need a different type.

These objects consist of a list of vertices and a single surface. The surfaces from more than one of these objects can be collected together into a single object by using the Object->Merge function.

Polygons should be 3 or more points. Concave polygons are handled by AC3D. They can be converted to triangles by using the Surface->triangulate function.

It is possible to draw a line or poly in different windows - creating a non-planar surface. This makes sense with lines but is not correct for a polygon which should have all of the points on the same plane. Invalid polygons i.e. polygons that have less than three vertices are displayed in a cyan color. Surfaces that have crossing edges are displayed in a red color.

This shows part of a sphere where vertices have been deleted. Polygon surfaces with only 2 vertices have been left. These can be removed by using Object->Optimize surfaces. | This shows a four point polygon where the vertices are positioned so that the edges overlap. This is fixed by moving the vertices.

To draw shapes that have vertices in the same position as an existing shape, use the ‘nearsnap’ function, the control for which appears under the draw mode section when line/poly/polyline mode is selected. When Nearsnap is on, the next point drawn will ‘snap’ to the nearest existing vertex (when there is a vertex within a certain range).

### Spheres, boxes etc.

Creating a 3D object by dragging the mouse in a window specifies two of the dimensions for the new object - the third dimension is an average of the original two. The location of the object in the third dimension is specified by the 3D cursor.

These objects can also be created with a single click in a view window. This will create a regular object that fits into a 1 x 1 x 1 square.

The 3D cursor is shown in the orthographic views by a cross. This is repositioned by using the tool, Tools->Position-3D-Cursor. Most people rarely use this because it is very easy to create an object and position it afterwards.

| Some object types allow parameters to be set before creating the object. For example, spheres and Meshes can be made from triangles or quads. Controls for any available parameters appear in the control panel underneath the mode box on the control panel.

When created, AC3D Objects are automatically named. The object name box is at the bottom of the control panel and allows these names to be set.

Object names can only be edited/set in Group or Object select mode. Object names need not be unique and can be the same across multiple objects. This can be useful for selecting or finding particular objects with the Edit->select-by-name function (e.g. to select all objects named ‘chair’). Object names are used in some of the file formats exported by AC3D.

If AC3D is being used to generate VRML or Dive files, URLs and other text can be associated with objects. This text is used in a number of the export file formats that AC3D generates. The names, text and urls are saved in the .ac AC3D files. Text attached to each object is entered into the field on the Tools->Object property editor window. Object names can also be set in the property editor.

### Lights

Lights have no associated geometry and represent a ‘point light’. Lights are represented by this symbol:

Lights are fixed brightness white lights. Lights are selected and repositioned in Group or Object select mode.

Lights are generated in exported files such as POV and RIB files. The generated files can be edited to alter the lighting attributes.

| This image shows a green sphere with two lights (indicated by white spheres) - the main headlight is off. (The headlight in the 3D window is toggled on and off with the 'l' key, or from the main ‘3D’ menu).

If the headlight is on when POV or RIB files are generated, a light will be added to information in the file.

## Object mode lock

| Clicking twice on an object mode button causes the mode to ‘lock’. This is indicated by the button changing to green. When a mode is locked, the mode does not revert to Move/size after an object is created. Pressing MoveSize, Rotate (or extrude) releases the lock.

## Creating other objects

It is very easy to create other objects from these shapes. For example, to make a torus shape (‘donut’), create an ellipse and select the Object->revolve menu.

A cone can be made in a number of ways. Create a cylinder; select one end (in vertex mode) and select Vertex->snap-together. A cone made this way will have the texture coordinates set correctly. For a simpler cone (fewer vertices), optimize the vertices with Object->Optimize-vertices. This means that the centre-point of the cone will be a single vertex which is shared with all the sides. Some other ways of making cones include - making a 'disk' and pulling the centre point up; Using Object->revolve to revolve a line around an axis. To add a base to the cone, select the bottom vertices and select the menu item: 'Vertex->Create surface/object'.

‘Extrude’ is used to add extra parts to objects or to give 2d shapes depth. Objects can be cut into pieces and specific surfaces deleted.

# Selecting, resizing, moving and rotating

In AC3D, the manipulation of 3D objects works in a very similar way to a 2D drawing program. i.e. the selection is shown highlighted and ‘handles’ can be moved to reshape the section.

| Selected components (surface, vertices) are shown in a different color and are surrounded by a ‘bounding box’ (usually green). Selection is possible in mode/size, rotate and extrude modes. The default mode is move/size.

## Selecting

The Select-mode defines the granularity of selection i.e. it determines if selections will affect objects, groups or vertices. To select in AC3D, either click the left mouse button or use the left mouse button to drag a box over an area. When something is selected, the Bounding-Box that appears can be dragged or resized directly affecting the points/surfaces/objects.

In Vertex mode, vertices can be selected by a single click on a single vertex or by dragging a box over a number of vertices. In Surface-mode, a surface is selected by a click or dragging a box over an area. In Object-mode, selecting any part of an object causes the whole object to be selected. In Group-mode, a group of objects can be selected by highlighting any part of a single object that belongs to a group.

There is an important difference between a click-select and a drag select. Click-selects are used for selecting single entities e.g. one object, one surface, one vertex. A click select will select the nearest entity underneath the pointer. A drag-select will select everything within the drawn box that lies underneath the region. Click-select is useful, for example, when selecting a single surface of a sphere (where a drag select will always select more than one surface).

Selections are preserved between changes of select modes. Changing from vertex to surface select-mode means that any surfaces that have all vertices selected will remain selected in surface-mode.

## Moving

| The green bounding box is dragged with the left mouse button to reposition the selection. Holding the control key down whilst dragging, constrains movement to up/down or left/right only.

## Resizing

Dragging the ‘handles’, at the corners of the bounding box, using the left mouse-button resizes the selection. Holding down the control key down whilst, dragging an edge handle, resizes opposite edges. On the corner handles, holding down the control key scales the selection uniformly.

##

Note that it is possible to resize a selection down to zero width/height. This is useful for lining up vertices.

## Extending/Negating the selection

Holding down the shift key whilst selecting with the left mouse button, extends the selection (adds new entities) and pressing shift whilst selecting with the 2nd (or 3rd) mouse button, negates (subtracts) items from the current selection.

Extend and negate selection work in all select modes.

| This picture shows the top and bottom of a sphere selected. This is done by first selecting the top vertices with a drag. Holding down the shift key and dragging across the bottom of the sphere.

## Clearing the selection

Clicking the outside the area of the bounding box will cause everything to become unselected.

The selection can also be cleared by pressing the ‘None’ button in the toolbar or from the menu Edit->select-nothing.

## Hiding objects

| Hiding allows objects to be temporarily removed from the views. The current selection, or objects that are not selected, can be hidden from view. The 'unhide' button ensures that all objects are visible. The '3d' toggle determines if the hidden objects are visible in 3d views. Hiding is useful when access is needed to work on obscured objects.

## Locking objects

| Locking is useful for temporarily disabling objects that are obscuring others. When objects are locked, it’s not possible to select them. Locking also helps with the speed performance when editing large models. It works in a similar way to hiding, except that locked objects are drawn in grey wireframe.

Note that if objects are hidden (or locked) and the model is saved/exported, hidden and locked objects are included in the file.

# Model manipulation

## Operations on objects

These operations are on the ‘Object’ menu and act upon one or more selected objects.

### Texture

Each object can have one texture. A texture is a 2D bitmap image, such as a .gif or .jpg file, which is drawn onto the surfaces of an object.

To set a texture on an object use Object->texture->Load-Texture. AC3D’s default palette of objects predefine the way that the textures are mapped onto the object surface. To adjust this or to define a custom mapping, use AC3D’s Texture Coordinate Editor (Tools menu). See the section on ‘Texturing’.

### Revolving

Revolving makes copies of the selected objects, rotating each copy, then creating surfaces between the copies. It’s recommended that this function be used to revolve 2D outlines of shapes rather than filled-polygon objects. Any revolved line objects are automatically removed after the revolution. The axis to perform the revolution about can be altered.

| To create a torus - make a circle in the Front window: Select 'Object->Revolve…' Set the axis to Y and click Revolve. You should see something like this:

| Select the 'smooth' surface type (near the bottom of the control panel) to make it appear rounded

The degrees of revolution can also be altered e.g. 270 degrees: |

If there are points that need to be in the centre of the final revolved object - (e.g. the start and end points of the cup profile above) then these points should lie exactly on the axis. Drawing the line with ‘gridsnap’ can ensure this. Alternatively, snapping the points to the grid (Vertex->snap to grid) or by using the control panel Move-to function to ensure that two of the values are zero. If these points are not exactly on the axis, a small hole or possibly overlapping surfaces will be created. If this happens, the 'Vertex->snap together' function and Object->Optimize-Vertices can be used to remove duplicate points.

Setting the revolve offset allows the profile to be moved along an axis for each revolution. This is useful for making spiral pipes, springs and screw threads.

Example: creating a spring:

Example creating a thread

### Mirror

The mirror function duplicates all object surfaces and vertices and flips the new surfaces and vertices around the specified axis.

Examples:

A hemisphere |
Object->Mirror-> +X |
Object->Mirror-> -X |
Object->mirror-> X axis |

Where possible, Mirror will remove duplicate vertices. If mirroring half of a shape, use Vertex->align-to-axis to align the inner edge vertices to an axis. Alternatively, select the inner vertices and resize one dimension to zero – this flattens the selection, aligning the vertices.

Mirror is useful after use of the AC3D real-time Mirror function (View menu) where half of a symmetrical object has been worked on.

### Optimize Vertices

This function removes duplicate vertices from each selected object. For vertices to be removed, an object must own the vertices and they much match the same position exactly. The function will share one vertex between each connected point. This can make the object les complex and means that vertex normals can be calculated if smooth shading is required. This function also removes duplicate vertex references from the surface - something that might cause a bad polygon. If vertices do not match the same position, Vertex->snap-together or Vertex->snap-together-by-distance can be used to move them to the same point.

### Optimize Surfaces

This function removes any duplicate surfaces and any polygons that consist of 1 or 2 vertices (these may exist if vertices have been deleted from an object). AC3D highlights invalid polygons by displaying them as cyan lines.

### Reduce

This function reduces the number of vertices (and polygons) whilst trying to retain as much of an objects original shape as possible. This is useful for saving on storage space and for speeding up the rendering of complicated objects. This function can be used to create different objects that will be shown at different distances (LOD – level of detail). E.g. a car object should be viewed close up with all polygons but from a distance, a more simple shape is adequate and can save drawing time.

A target percentage specifies the proportion of vertices that are to remain. E.g. If an object has 100 vertices and 80% is entered, the final object will contain 80 vertices.

The original object can remain in the model, or it can be replaced with the new object. If the original object is kept, the new object will be created in the same position and will be selected.

An example:

732 surfaces, 376 vertices

Reduced to 40% gives:

276 surfaces, 150 vertices – A saving of 456 polygons.

The reduce window remains visible so that different reductions can be tried (use Edit->Undo to revert to the previous state).

### Commit subdivision

This function affects objects that have the subdivision preview level set to a value larger than zero. The subdivision preview level is set from Tools->Object-Property-Editor.

It converts the subdivision preview into real polygons for the selected objects.

See the section on ‘Subdivision surfaces’ for more information.

### Subdivide once

Performs a single surface-subdivision. A surface subdivision is where each surface is divided, then the shape of the overall object is ‘smoothed’.

Original object |
Single subdivision |
Two subdivisions |
Three subdivisions | without surfaces displayed:

### Re-centre

Object centres define the ‘local origin’ of AC3D objects. Object centres can be seen by switching on the '+' button on the main Orth menu. This function sets this origin at the centre of gravity. This can be useful for specifying where the pivot points or local-origin of an object are.

### Minimum-centre

This function sets the object-centre (object's origin) to the minimum xyz of the object.

### Fragment

Fragment creates one object per surface of the original object so that each object contains only one surface and the necessary vertices. This image shows a sphere that has been fragmented. The new objects have been moved apart. Notice that the surfaces are no longer 'smoothed' together - this is because each surface is now a separate object and vertices cannot be shared across objects. If you need to extract a number of surfaces from an object, it is recommended to use Surface->Cut-Away-Object.

###

### Merge

This function places all of the surfaces from the selected objects into one single object. This does not optimize the vertices so that they can be shared across the surfaces. (use menu Object->Optimise-Vertices after merging to create a more efficient object and/or get smooth shading across adjacent surfaces)

### Explode

This is similar to fragment, but each new object is moved forward (in the direction the surface is facing) by a specified amount. This picture shows an exploded cube.

## Operations on surfaces

### Extruding

Pressing the extrude button on the control panel (or pressing the ‘e’ key) when there are one or more surfaces selected, enables the function. The actual extrude is done after the selection is dragged.

Extruding is a powerful function that can be used for a number of tasks. It works by making new surfaces at the edges of the current selection. The original selection can be removed and/or copied to the end of the new surfaces.

| Selecting one of more surfaces and selecting the extrude button on the control panel, brings up the extrude parameters:

Here the number of sections to produce is specified. The end of the new object can be capped with a copy of the original selection. New surfaces can have their normals reversed. Removal of the original surfaces is also an option.

After setting these parameters, the bounding box is dragged in the desired direction. (if the control key is held down, movements of the mouse are constrained to either horizontal or vertical.)

The extrude function is best demonstrated with some examples. (This star was made by creating a 10-sided disk, selecting alternate vertices and shrinking the selection, using the –10% toolbar button a few times).

The magenta lines shown here represent the normals. Normals can be displayed by switching on ‘Show normals’ from the Orth and 3D menus. Displaying the normals is used here to help determine the direction to extrude the object. In the extrusion, if the selection is dragged in the same direction as the normals, the resulting shape will hide the front of the original surfaces. This is useful if one side of a box is being extended, but in this case the original surfaces need to be facing outside of the final shape. This means that the surfaces need to be dragged in the opposite direction to the normals. Because we are doing this, we need to ‘flip new surfaces’ so that all the new surfaces face outwards.

This is what happens when the selection is dragged up in the plan window:

If ‘remove original’ was ticked then the star that that is being dragged will be deleted:

Here, the original surfaces have been removed to leave a star shaped box (without a lid). If ‘cap end’ had been unticked, then it would have been possible to see right through the star shape.

This picture shows what happens when ‘sections’ is set to 4.

To extend an existing set of surfaces, it may not be desirable to keep the existing surfaces inside the new object.

Here is a cube that has had a single ‘Surface->divide’. Two of the surfaces are selected.

These surfaces can be extended without keeping the original surfaces (since they will not be visible because they are inside the shape.)

These settings are used: |

To perform the extrusion, the bounding box is dragged to the left (in either the front or plan window), holding down the Control-key whilst dragging ensures that the new surfaces are square to the original. This gives:

When extruding lines, ensure that remove original is ticked and cap end is un-ticked. This ensures that no lines remain in the new surfaces.

It is useful to switch on the display of normals when extruding to check that the resultant surfaces are facing in the correct direction. If they are not, select the surfaces and use surface->flip normal.

### Flip normal

This effectively reverses the list of the vertices in each selected surface. This reverses the way that a poly 'faces'. A polygon is defined as 'facing' if the vertices appear anti-clockwise to the viewer. If a polygon is set to be one-sided (by pressing the '1S' button on the control panel) then it will only be viewable from one direction - the direction it is facing. You can switch on the display of normals in the orth and 3D windows – this can help determine if any surfaces are facing in undesired directions.

### Change vertex order

This changes the order that the vertices of a surface are drawn, by moving the first vertex to the end of the vertex list. This can be used to change the position of a break in a line. It can also be used to fix bad a polygon, which has the first three vertices in a non anti-clockwise order - causing the normal (used for lighting) to be incorrectly calculated. If a polygon appears all black, this function may need executing (possibly repeatedly) until it appears correctly.

### Divide

Divide create new surfaces by splitting each surface to make quads (four point/four sided surfaces) |

Note that because this function splits surface edges, it affects any surfaces that are adjacent to the surfaces being divided.

This image shows a box that has had the top surface divided. The red surfaces that are adjacent now have five points each because the division inserted an extra vertex. |

### Combine

Combine takes two or more adjacent surfaces and creates a single surface.

The selected surface must share edges for this function to complete. Select the menu item or press the ‘c’ key to execute the function.

two surfaces selected | after combine – one surface

It is possible to combine surfaces that do not lie on the same plane. It is recommended that the vertices be flattened in order to make them lie on the same plane.

If after combining surfaces, the new surface appears black from every angle, this means that the first three vertices of the surface form an angle of more than 180 degrees. To prevent this, the vertex order must be changed (Surface->change vertex order) so that the first three vertices of the surface form an angle less than 180 degrees.

### Spike

| This creates a 'spike' in place of each surface selected. The distance that the apex of the spike will be away from the original surface is specified.

### Indent

This function creates new surfaces around the edge of existing surfaces.

If the select mode is Surface or Vertex, the new ‘centre’ surface (or vertices of it) is selected after the operation completes.

### Bevel

Bevelling a surface does the same as Indent but the new centre surface is raised. Two parameters are required, one for the distance in from the edge; the other is the distance to move the new (inner) surface forward.

If the select mode is Surface or Vertex, the new ‘centre’ surface is selected after the operation is complete.

### Make hole

This function creates a hole in each selected surface.

This image shows 4 objects that have had holes made in them - An Ellipse (set to poly surface-type), a sphere, a cube and a disk. Notice how the insides of the sphere and cube are not visible through the holes- this is because the default surfaces for these objects are single-sided and face outwards. To see the insides though the holes, these surfaces need to be made two-sided by pressing '2S' on the control panel.

Some concave polygons may have overlapping surfaces after making holes. Vertices may need adjustment to prevent overlapping.

The size of the hole is specified as a percentage and can be adjusted in File->settings.

### Triangulate

This spits non-triangles (i.e. polygons with more than 3 sides) into more surfaces, each new surface being a triangle. This operation can fail if it is given a 'bad' polygon - i.e. one that has overlapping edges or duplicate vertices.

### Spline

This is useful for smoothing out a 'line' object and for rounding off polygons. New points are interpolated between existing points.

### Cut away object

| This function takes all of the selected surfaces and vertices and puts them into a new object. This can be useful for extracting parts of objects. e.g. splitting a sphere into two.

### Remove surface only

This deletes any whole surfaces selected. The vertices will remain.

### Calculate surface area

This function calculates the total surface area of the selected surfaces. Note that the total area accounts for one side of each surface.

## Operations on Vertices

The majority of functions on the Vertex menu are available when the Surface or Vertex select mode is active and one or more vertices are selected.

### Snap-together

This sets all selected vertices to the same location. The vertices can be in separate objects or the same object. The point that they are snapped to is the average of all selected points.

### Snap-together-by-distance

This function moves vertices together that lie within the specified distance. This is useful for example, to join two halves of an object together.

e.g. This picture shows a close-up of an object where two halves have been positioned together. Notice that there is a visible seam along the top. This is because the two halves are separate objects. Once the two halves have been merged together into a single object (Object->merge), the vertices need to be shared in order for this seam to disappear.

If Object->optimize does not remove duplicate vertices then it means that the vertices are in very slightly different positions. The solution is to select the vertices along the join and Vertex->snap-together-by-distance. The Object->optimize will remove the duplicate vertices and allow the surface to appear smooth.

### Snap-to-grid

This moves each selected vertex to the nearest grid position. This may or may not be the visible grid. The snap grid is defined by 'snap grid' in settings and may be different to the 'draw grid' (which is the visible grid).

### Snap-objects-by-vertices

This is for aligning two objects so that the one vertex from each object are in the same place. One vertex in each of two separate objects should be selected before executing this function. The objects will be moved together, so that the two selected vertices are in the same location.

### Smooth Shape

This function repositions the selected vertices in order to smooth the shape of the surfaces.

### Align to axis

This function moves all selected vertices so that they lie on the specified axis.

### Unshare

This creates new vertices so that each surface will access a unique vertex in the same object. New vertices will be created in the same location as the originals.

### Insert Vertex

This function inserts a new vertex between each selected pair of vertices. Insert-vertex is useful for adding extra points into a line.

If the two vertices selected are on an edge which is shared by two or more surfaces, only one vertex will be created, but it will be shared across the surfaces.

| One example is to create a grid object (which is made from lines) in a power of 2 dimensions e.g. 8. Press 'Insert vertex' 3 times (2^3=8). You should now have a grid where you can lift each point and create a 3d graph.

### Divide triangle edge

This function takes two selected vertices and divides the edge between two triangles. This splits each triangle into two further triangles.

two vertices selected | after the edge was divided

### Extrude edges

This function provides a quick way of performing a simple extrude on one or more surface edges (i.e. between vertices).

Vertices selected. | After Vertex->Extrude-edges, the new surfaces and vertices have been created but are not fully visible until moved. | The selection is moved upwards, showing the new surfaces.

### Slice surface

This function is used to cut one or more surfaces across selected vertices.

Single surface with two vertices selected | After Vertex->Slice-Surface – now two surfaces

A row of vertices around a cylinder selected | After Vertex->Slice-Surface – each surface cut into two

### Create convex surface/object

This function uses a technique called 'convex hull' to create a new object that surrounds the vertices that are selected. This is very useful for joining complex objects together or for simplifying the creation of some complex shapes.

| These two pictures show the function being used to join a cylinder to a cube.
| Note that because this function makes a new object, the vertices are not shared with the old objects. If the whole shape (i.e the original objects plus the new part) is required to be smooth then the objects must be merged together with(Object->Merge) and then have the duplicate vertices removed with (Object->Optimize-Vertices)

A second example uses a number of simple objects, which are 'shrink-wrapped' by this function. In this case we are creating the fuselage of an aircraft. The objects are ellipses and a single red box. Any AC3D objects can be used this way, either lines or polygons.

| To get a more accurate outline, these shapes could have been made by placing background images of a real aircraft onto the views and building the shapes on top of those images.

After Surface->Create-Convex-Surface-Object menu function has been selected:

This picture shows the fuselage object created from the simple shapes. It has been dragged to the side of the original objects, which still remain in the scene.

It’s important to note that the hull created is ‘convex’. This means that if there had been any vertices that were totally ‘inside’ the encompassing hull, the new hull object would not have any vertices created at those points.

This function will also create 2 dimensional convex hulls, provided all of the selected vertices lie on the same plane. If they are not, a 3d object will be created.

### Create ordered surface

This function creates a surface using the individual vertices that are selected. The vertices should be selected in the correct order and in an anticlockwise direction. This function works by creating a new surface and adding vertices in the order they were selected. If vertices are not selected in exactly the correct order, a bad surface (crossing edges or non-planar) may be created.

### Create Quad

This function is used to create a four point, four sided surface from three selected vertices.

Before Vertex->Create-quad | After, new surface was created and new vertex is selected | New vertex is positioned as desired

### Create 2D mesh

This function uses a technique called ‘Delaunay Triangulation’ to calculate triangles between a set of points. When this function is selected, a plane is specified. This treats the points as 2D so that a mesh can be laid out over the points.

| e.g. here are a number of vertices in front window.
| After Vertex->create 2D Mesh->Front is applied.

To make vertices specifically for this function, create a line, placing each point at the desired location. Select the line and Surface->remove-surface-only. This removes the surface and leaves the vertices. Note that this function works convexly.

## Subdivision Surfaces

Modeling with subdivision surfaces makes it easy to create smooth objects using simple polygon objects.

In AC3D, subdivision surfaces are created from any polygon object by editing the object property from the Object Property Editor tool in the Tools menu.

The subdivision preview level is adjusted from zero (no subdivision) to three (maximum subdivision) After adjusting the slider, pressing the Set button will affect the object. |

Subdivision works by dividing each surface and then smoothing the overall shape.

An example – A simple box

0 subdivision level |
1 subdivision level |
2 subdivision level |
3 subdivision level |

Note that the default surface type for a box is flat. Setting this to ‘Smooth’ and setting the object property for ‘Crease angle’ to 180 ensures that the object is fully smoothed. (display of the surfaces has been switched off for this picture) |

All of the functions that work on normal surfaces are still functional. Adjusting the original surfaces directly affects the subdivided object.

A cube is a good starting point for many models since each face can be extruded and the vertices moved to form other shapes, whilst retaining a single closed object with no holes.

Subdivision works best with quads (four point/sided surfaces) since they divide symmetrically.

The display of subdivisions can be switched off from the Orth and 3D menus (or by pressing the ‘d’ key’). This allows work to be undertaken on the underlying polygon object that defines the overall shape of the subdivided shape.

This image shows a model where the three Orth windows are displaying the original object and the 3D window shows the subdivided version. The outline of the original shape is still visible in the 3D window. This can be switched off from the menu ‘3D->Show subdivision originals’ |

Objects retain the subdivision property when AC3D files are saved. To export the model into another file format, keeping the smoothed subdivided shape, the objects can be transformed into full polygon objects by using ‘Object->Commit subdivision’. This converts the object into the polygons that represents the subdivided shape and resets the subdivision preview level to zero.

Original object 110 surfaces | After Object->commit subdivision 1778 surfaces

Subdividing an object by one level increases the number of surfaces in that object by (a minimum of) four times and each subsequent subdivision increases this number by a factor of four.

The number of vertices and surfaces in a subdivided object can be view from the Model Info tool on the Tools menu: |

A setting in File->settings defines a maximum number of surfaces for a subdivided object (Advanced->Subdivision max surfaces). If this maximum is exceeded when the subdivision level is changed, a message is shown. The default value is chosen for average computers. For faster machines, the value can be increased.

These images show a simple cup shape that was formed by using Object->Revolve on a line. The number of segments was set to 6. The image on the right shows this same object with the subdivision level set.

When creating models with subdivision surface, a box or extruded AC3D mesh object is a good start. Creating a box and extruding sides to create the overall shape ensures that the shape is complete with no holes.

Surfaces can be divided, spiked, beveled etc. to add extra detail to a shape.

# Texturing

Each AC3D object can have one texture. A texture is set from the object->texture menu.

## Setting a texture

| Each AC3D object can have one texture applied to its surfaces. After selecting an object (or objects), use the menu Object->Texture->Load-Texture to set a texture. AC3D loads a number of different picture file formats as textures. These include .gif, jpeg etc. To view which formats AC3D can load, see the load texture dialog.

Note that some export formats (or rather the programs that load the files) do not support all the texture file types that AC3D supports. You should ensure that you are using the correct format texture for the correct export file type e.g. .jpg or gif for VRML.

## Changing the mapping

Texture coordinates determine how a texture is mapped onto the surfaces of an object. All AC3D objects have default texture coordinates applied to them when they are created. For example a cube has mapping set so that one instance of the texture will appear on each face.

Some external files have formats that do not contain texture coordinates and some AC3D operations may cause these coordinates to become disturbed, in these cases, it is necessary to remap the texture coordinates.

## Changing the texture repeat and offsets

The texture repeat and texture offset for an object can be modified in Object->Texture->set texture repeat/offset. The texture repeat indicates the number of times the texture is to be fitted into that dimension.

E.g. a cube with texture repeats set to 1, 1 (the default): |

Object->texture->set-texture-repeats/offsets and repeats set to 2, 2: |

The texture offset determines how far across the texture, the mapping should start.

Texture repeat set to 1,1 and Texture offsets set to 0.5,0.5: |

If more than one texture is required on a single object (e.g. a different image on each side of a cube), the object should be split up into parts (e.g. use Surface->cut away object) and different texture mapped on to each of the sub-objects.

Alternatively, it is more efficient to create a single texture image (i.e. a single picture file containing all the required images) and use AC3D’s Texture Coordinate Editor tool to map parts of the object.

# Tools

This section describes AC3D’s integrated tools. Other tools are available as plugins. Tools are accessed from the Tools menu.

## Model Information

This displays information about the current model.

This shows the information for a single cube. Note that the total number of objects shown is actually two. This is because the ‘World’ object is included in this count. The internal world object is the top-level container object. This window can remain visible, whilst other work continues, but if any changes occur to the current AC3D model, the ‘refresh’ button must be pressed in order to update the displayed information.

## Render

This tool is used to start up an external renderer (such as a Raytracer like PovRay) or other linked program. See the rendering section for more information on how this is configured.

## Object Hierarchy

This window shows the structure of the current model but also allows control over the structure of the hierarchy.

Clicking on one of the items in the list can select or unselect objects. This selection is sensitive to the current select mode being used e.g. in Group select mode, it is only possible to select top-level groups. To select individual objects, switch to Object select mode (using the main AC3D control panel).

As well as controlling selection and grouping of objects, a right click on an object item will reveal a popup menu:

This allows control over hiding, a more detailed properties viewer, editing object data and the option of moving an object to the head (start) or tail (end) of the children list.

## Object Property Editor

Objects have properties that can be adjusted using the Object Property Editor. The crease angle and subdivision level are can be adjusted by moving a slider and pressing a set button. Every AC3D object can have a url (web link address) and text data attached to it. This is a string of text. This data is saved in the AC3D file, along with the object geometry information.

Objects exported in VRML files will have a link generated around them if a URL is present, and Povray objects can include object data text at the end of each object description (allowing custom povray commands to be added).

The Loc point defines the position of the centre of the object. This is the local origin of the object)

## Texture Coordinate Editor

AC3D’s integrated Texture Coordinate Editor (TCE) allows full control over the texture coordinates that are applied to all surfaces in AC3D objects.

To start the TCE select: Tools->Texture-Coordinate-Editor.

To edit the texture coordinates of an object, select a single object, or surfaces from a single object should be first selected (in the main AC3D windows). The TCE runs in conjunction with the main AC3D program so you can switch between the windows, selecting the surfaces and objects you wish to edit. Note that if a group object is selected (which has textured children) then nothing will appear in the TCE. In this case, switch to Object select-mode and select a single object.

The surfaces selected in AC3D will appear in the TCE according to their texture coordinates. All AC3D primitive objects (those created from the control panel) have default texture coordinates e.g.

Mesh | Disk
Cylinder | Sphere

It’s important to realize that the pictures here represent the coordinates that are attached to each vertex reference in each surface, and have no relation to the layout of the actual object vertices.

Note that the pictures above show the texture mapping for objects that have no textures applied. If there is a texture, it will be shown in the window.

### Selecting and manipulating

When surfaces are selected in AC3D and the TCE is visible, the texture coordinates of those surfaces are all visualized. The TCE allows editing of all or a subset of the texture coordinates.

The TCE has two modes of selection, Surface and Vertex. In Surface select mode, the texture coordinates are selected, moved and size by manipulating individual surfaces. Vertex select mode allows individual texture coordinates to be manipulated.

Surface select mode | Vertex select mode

Manipulation in the TCE is similar to the main AC3D 2D views. After a selection is made, the green bounding box can be moved; the handles can be dragged to resize the selection and the selection can be extended and negated (shift-left mouse, shift right mouse). The selection can also be rotated using the mouse. When the mouse pointer is over the edge of the bounding box, the pointer changes to indicate that if the left mouse button is dragged the selection will be rotated.

Resizing | Moving | Rotating

The Flip buttons mirror the selection either horizontally or vertically.

| e.g. flipped horizontally

### Remapping the selection

| The ‘remap’ buttons on the TCE perform the same function as the Surface->remap-texture-coors menu items in AC3D. The ‘Front’, ‘Side’, ‘Top’ buttons ‘project’ the texture onto the surfaces in the specified axis. The bounding size of the selected surfaces determines the boundaries of the mapping. The ‘Spherical’ button cause the texture coordinates to be ‘wrapped’ around selected surfaces.

It is possible that after starting the TCE and selecting an object, the window appears blank. It is likely that the object has zero value texture coordinates e.g. each surface-vertex reference has 0.0, 0.0 as a coordinate. In a case like this, a ‘Select all’ in the TCE would reveal that all of the coordinates are set to 0, 0.

In this case, you will need to make sensible coordinates for your model, probably in groups. Do this by selecting a number of surfaces (from within AC3D) and using the remap buttons to assign a mapping to the texture coordinates. You can then reposition and size the surfaces in the TCE and map them onto a texture.

## Replicator

| The Replicator allows multiple copies of the selection to be created. Each copy can be moved, rotated and scaled. The Replicator also allows objects to be extruded.

The replicator works by first duplicating (or extruding) the current selection. Second, it moves the new copy using the distances specified by Translation (X, Y, Z coordinates). Next, if there is a rotation specified, it rotates the object around the specified location. Finally if the scale fields are set to anything other than 1,1,1, the copy is scaled.

Examples:

Creating an array of 5 objects 1 unit apart (in the X dimension) |

Creating four copies, but scale them each time. |

Extruding a ‘horn’ shape from a single ellipse. |

Create a single step for a spiral staircase by extruding a rectangle |
Using the replicator to duplicate the steps in a spiral pattern. |

## Create Text

The Create Text tool generates 2D and 3D objects from TrueType fonts. |

This image shows the same text in Outline, Solid, Extruded and Bevelled type. |

The font size specifies the maximum unit height of the text. The font detail (1 to 10) controls the number of vertices per letter. The higher the detail, the more surfaces and vertices will be in the resultant AC3D objects.

## Align Objects

This allows objects to be repositioned relative to one object. Select a single object and then shift-select others. On pressing ‘Align’, the first object is used as the reference object.

## Position 3D cursor

| The 3d cursor specifies a position in 3D space. It is useful when creating objects since it specifies the ‘missing’ axis e.g. when a sphere is being drawn in the front window, the mouse movements specify the X and Y position of the sphere, the Z position comes from the location of the 3D cursor. The default position of the 3D cursor is at the origin 0, 0, 0.

Many find that they never need to adjust this but can be useful change it’s position, when working on large models away from the origin.

# Materials

## The palette

The scrolling window of buttons near the bottom of the control panel represents the palette of colors/materials available. The default color for an object is palette entry 1 (usually white).

The colored buttons are pressed to change the material on the currently selected objects/surfaces. Setting the material of surfaces works in all selection modes but for a surface to change color in Vertex mode it must have all vertices selected.

Note that the color on the palette button represents the diffuse color for that material.

New palette buttons are appended to the list when a file (containing extra materials is loaded.

When surfaces have a texture as well as a material, that material can affect the way the texture appears. To make a texture to appear as the original colored image then the surface color should be white.

To find the material index of an existing polygon, select that surface and the message at the bottom of the AC3D window will display the material number.

## Editing Palette entries

Pressing the right mouse button on a palette button pops-up a menu. The options are to edit a color, select all surfaces with that material or add a new material (a copy of the selected material will be added to the end of the list).

If the ‘real-time update’ option is selected, any 3D view windows are redrawn every time a change is made to the material.

Transparency is supported in the palette but for purposes of speed, the surfaces are not sorted when they are rendered into the views.

##

# Loading and saving files

An AC3D file (usually named <something>.ac) is a text file describing the geometry of a model. AC3D files retain all available information about a model built with AC3D e.g. textures, surface settings, materials, object data etc. Other file formats exported by AC3D may not retain all of this information. Models should always be saved in this format to ensure that no detail is lost.

Developers can view a description of the file format on the AC3D home page.

AC3D files are loaded by selecting File->Open. This will replace the current model. To load models in addition to the current model, use File->Merge.

A list of the most recently opened files appears on the File menu. Selecting one of these causes it to be loaded.

## Importing other formats

See the File->Import menu for a list of file types that AC3D can import.

Extra Import/Export plugins allow AC3D to handle more file formats. Check the AC3D website for details of additional plugins.

The following formats may be useful for importing your own model data.

### Triangle files

The format of triangle file is: each line contains 9 floating point numbers and one hex value e.g.: 0.0 0.0 0.0 1.0 0.0 0.0 1.0 1.0 0.0 0xffffff represents 3 vertices of a triangle. hex value is 0xRRGGBB col - in this case white duplicate vertices are aggregated when loaded.

### Vector files

This is another simple format for importing 2D vector data. Each line should consist of a number of vertices followed by the same number x/y coordinate pairs e.g.

3 0.5 0.5 2.5 2.5 10 5

This represents a line with 3 vertices (0.5, 0.5)(2.5, 2.5)(10, 5)

## Exporting files

AC3D can generate output files for many different formats. Support for extra file formats can be added by installing additional AC3D plugins. See File->export for a list of the output files supported. Several are mentioned here.

### 3D Studio (3ds)

3D studio files are used in 3D Studio Max 3D software http://www.discreet.com. This is a long established binary format which is supported by a lot of third party software. Note that objects with > 1 material will be split into separate meshes within the 3DS file.

### VRML 1

VRML is an ASCII geometry file specification used for web graphics. VRML files may be viewed from within any web browser that has an appropriate plugin installed e.g. Cortona

http://www.parallelgraphics.com/products/cortona/.

AC3D Object URLs (set from the object data dialog) are used so that objects will be selectable in the appropriate browser. The output of normals and textures can be switched on/off in the File->settings window.

### VRML 2

VRML 2 is a geometry description web file format which also allows animation and some other powerful constructs. See VRML 1 for a suitable browser plugin.

Output of normals and textures is switchable via Settings.

### VRML2 Proto

This form of VRML2 output exports objects into a VRML prototype. This can be used when compositing larger models where each object may be stored in an individual file and a single file controls the locations of individual instances.

### DIVE

Dive is a Virtual Reality system. The Dive generation will include the object data (if you have input any) this is usually TCL code. If an object has a URL then the object will be a dive gateway. See http://www.sics.se/dive for more info about the Dive VR system.

### MASSIVE

Massive is a distributed VR tele-conferencing system written by Chris Greenhalgh at Nottingham University in the UK. It runs on SGI and Sun platforms. For more details, see:

http://www.crg.cs.nott.ac.uk/~csm/massive.html

### RENDERMAN

These files are used in a raytracer. This allows detail images with accurate lighting, shadows and reflections to be created from a 3D model. There are a number of Renderman compatible renderers available. The eye viewpoint is defined by your view position in the primary 3D window (approx). Note that lines will not be output. Any polygons that need triangulating (breaking up into triangles) will be triangulated.

### POVRAY

Povray is a very popular raytracer see www.povray.org for more information. The eye viewpoint is defined by the view position in the 3D window. (In Spin mode the viewpoint will be approximate, for a more accurate viewpoint position, switch to walk-mode in the 3d window).

The color palette is output at the top of the file (each entry has the same number as the AC3D material). The properties can be altered easily to provide different surface types and textures (some #includes can be added at the top of the file to get external definitions). The light is output at the end of the file. The light’s position is the same as the viewers. The POV-Ray output is based on triangles, lines will be ignored and polygons with more than three vertices will be triangulated automatically.

The Object data string, which is specified in Tools->Object-Property-Editor, can be use to attach information to objects which is inserted into the povray file. ‘Use object data in POV files’ in the main AC3D File->Settings must be ticked so that this text is inserted into the file. A POVray include command in to the settings ‘POV header’ e.g. #include "glass.inc". can also be defined in the settings.

See the Rendering section for an example of using Povray.

### Triangle files

see loading triangle files for a description of this format. This format is very simple and is easy to parse.

## Object Library

The object library is accessed from the File menu and can help organize and maintain a structured set of model component objects.

Objects may be added and removed from the library. For example, these ‘components’ may be electronic parts, kitchen units, molecule models etc.

Loading a single object from the library can be repeated to make multiple copies of the same object.

Note that the 3D position at which the object is saved , will be its location when it is loaded again from the library.

To add an object to a library, select it and press “Store”.

Take care when replacing objects, that the object that is currently selected in AC3D will overwrite the file stored on the library.

# Rendering

The "Render" tool in the tools menu can be configured to automatically launch an external renderer. This allows generation of high-resolution images with shadows, reflections, transparency and other effects.

The output file type is set from the ‘Output file type’ pulldown menu. The file types listed here are all of the file-types that AC3D can export (extra file-types may have been added using plugins).

The ‘Output filename’ specifies the name of a file that the model will be generated into.

The ‘Render program’ specifies the program that will start after the file is written.

The ‘Render Parameters’ are appended to the command line that it executed to start the render program. If a ‘%s’ is specified in the render command, it will be replaced by the render filename.

## A POVray example

Povray is a very popular ray-tracer - see www povray.org.

| This example shows a very simple model consisting of a mesh, a sphere and a cube that has been divided a couple of times (with Surface->divide), then had a Surface->make-hole operation. There is also an extra light present in the model.

The sphere has had a pov texture specified using the Tools->edit object data (the appearance of the object in AC3D will be unaffected by this):

The settings in File->Settings were:

Pressing the Render button in the Render Tool gives:

The Povray exporter supports bitmap-textured objects. Ensure that the formats of the texture picture files used are compatible with POV-ray.

# Appendix

## Plugins

Plugins add extra functionality and additional file format support to AC3D. Plugins files are usually name <something>.p and reside in the Plugins folder within the AC3D installation. Additional tcl files in the same folder may also provide user-interfaces and scripting for use with some plugins.

Plugins are automatically loaded when AC3D starts. The console displays the progress of loading plugins and will show any errors that occur. It is important that plugins are designed to run with the correct version of AC3D, otherwise the plugins may fail to load.

| To find out more about the plugins that are currently installed, use Help->About-Plugins. Selecting each plugin line brings up a description and any associated instructions for the plugin.

## Performance tips

Rendering more polygons takes more time. As a larger number and more detailed objects are edited, the rendering will take longer. Here are some tips to help edit larger models more effectively.

· Switch to wireframe viewing. This is faster to render than filled graphics.

· Use object hiding and locking. This reduces the graphics load.

· Edit in only one maximized view. This prevents all views from being updated every time a change is made.

· If surfaces can only be viewed from one side (e.g. they are outer surfaces of a closed object such as a box), set them to single-sided. This is slightly faster to draw.

· Switch on ‘interactive-wireframe’ in both the Orth and 3d menus. This temporarily sets the view to wireframe when being panned or zoomed using the mouse. Wireframe usually renders faster than filled polygons.

· The ‘Interactive Wireframe’ switches on the main Orth and 3D menus the realtime-feedback when dragging the mouse to resize or move the selection. Switching this setting off causes an outline of the selection to be draw, rather than the full geometry every time the mouse if dragged. This is much faster.

· When using surface-subdivision, for speed, keep the subdivision preview level set to 1 or 2 when working on the object.

· Use Object->reduce to reduce the number of vertices/polygons in an object.

## Key presses

Key shortcuts for menu items are shown on the menus. Other keys can be used:

In orthographic (2D) windows:
Key | Function
Cursor-keys | move view
Shift-Cursor | move view faster
Control-up | zoom in
Control-down | zoom out
Shift-Control-up | zoom in with larger step
Shift-Control-down | zoom out with larger step
Alt-Cursor | move background image
Alt-shift-cursor up/down | Scale background image

Backspace/Delete | delete current selection
Space | Maximize or minimize the current view
T | Toggle textures
o | set select mode to OBJECT
v | set select mode to VERTEX
s | Set select mode to SURFACE
m | set drag mode to MOVE
R | Set drag mode to ROTATE
e | set drag mode to EXTRUDE
F | fit selection to window
control-f | fit selection to all views
g | Toggle grid
h | hide selected objects
z | zoom in
x | zoom out
Space | Maximize/minimize view

Some of the keys for the 3D window have equiv. menu item in the 3D menu.

In 3D views:
Key | Function
w | Wireframe/filled toggle
T | toggle textures
L | toggle headlight
g | toggle 3d grid
F | fit to window/centre spin view around the selection
Space | Maximize/minimize view

In the 3D window, the cursor-keys spin the model in 'spin-mode'. In Walk mode, they control the viewpoint in a similar way to 'Quake' and other similar games. e.g. left, right, forward, back, alt-up/down move up/down, control-up/down tilt.

## Preferences/settings

The settings in File->settings are saved automatically when you exit AC3D. This automatic saving can be switched off from the settings window. (Settings must be saved with this set to ‘off’ for the change to be remembered.)

Under Unix, the settings are saved to $HOME/.ac3dprefs. Under Windows, they are saved to the user’s home directory as ac3dprefs.txt.

© 2005 Inivis Ltd.

All rights reserved. No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or storing in a retrieval system, or translated into any language in any form without the prior written permission of Inivis Ltd.

Software licence

The software described in this document is furnished under a Licence Agreement, which is included with the product. This agreement specifies the permitted and prohibited uses of the product.

Licenses and trademarks

Inivis ltd., the Inivis logo, AC3D and the AC3D logo are trademarks of Inivis ltd. All other product names and any registered and unregistered trademarks mentioned in this manual are used for identification purposes only and remain the exclusive property of their respective owners.

AC3D

www.ac3d.org

Inivis

www.inivis.com