3D VISUALISATION

Overview

The 3D Visualisation Tool (3D Viewer) in ARES provides a way to extrude a layout and view the board as it would appear in real life. This is extremely useful as a design aid during board layout.

The main features of the 3D Viewer include:

  • Realistic representation of board layout in three dimensions including solder resist and paste mask layers.
  • Support for both DirectX and OpenGL hardware accelerated display.
  • Support for both mechanical models (STEP, IGES) and visual models (3DS).
  • Multi-threaded rendering enables improved performance on more modern computers.
  • Phased rendering allows navigation of board and components while complex silkscreen, tracking etc. is being computed.
  • 3D footprints pre-supplied for most all of the ARES libraries.
  • Preset view buttons provide instant access to top/bottom/front/back etc. of the board.
  • Bareboard view for easy analysis without component placement.
  • Intuitive navigation allows you to quickly traverse the board and zoom around areas of interest.
  • Caching avoids re-computation of the board when the layout is unchanged.
  • Code generated resistor banding according to component values.
  • Simple script based technology with live preview makes it easy to create your own 3D footprints which can be output as STEP models for transfer to MCAD..
  • ‘Update MCAD Data' and 'Update Visual Models’ commands automates the process of applying MCAD or 3D Visual models from library parts into existing layouts.
  • Visual Model import via the standard *.3ds file format allows the creation of exceptionally detailed footprints in most common 3D tool suites.
  • STEP/IGES model import provides mechanically accurate models for tall parts (e.g. radial caps) and easily sourced models for almost any component.
  • Board export via STEP, IGES, STL and 3DS.

Note that the 3D Viewer is an advanced feature and, as such, is only available in Level 2 or higher of the PCB Design Packages. Standard feature users with a current USC can upgrade to the Advanced Features equivalent for the price difference if desired.


NAVIGATION

Overview

The 3D View of a project is launched from the application module toolbar in Proteus. As an example, we will load the simple DBELL project from the Open Samples button on the Proteus 8 home page.

When we invoke the 3D Viewer we should then see something like the following.

If you are working on two monitors or have a lot of screen space you can drag and drop the 3D tab to split it off into a separate frame. This enables a side-by-side view with the 2D Layout and the 3D view will automatically update as you make changes to the design in ARES.

Navigation is something more easily understood by experimentation and we therefore recommend therefore that you follow the steps above and then work through the techniques described below on the 3D View of the board.

Basic Navigation

There is an inherent limitation in making navigation intuitive in 3 Dimensions, given that a mouse can move in only 2 Dimensions. We have therefore concentrated our efforts in making ‘typical’ navigation simple for the user as follows.

Using Preset Views

Eight different preset views of the board are supplied:

  • Flip Board

  • Top View
  • Front View
  • Back View
  • Left View
  • Right View
  • Height Bounds
  • Bareboard View

These views can be accessed via any of the following methods:

  • Menu options on the View menu in the 3D Viewer
  • From the navigation toolbar at the bottom of the 3D Viewer
  • From keyboard shortcuts F8 through F12 whilst in the 3D Viewer

Preset View settings

Using these techniques will provide you with a set of preset views of the board – in this case perhaps the most sensible being the left view as shown below:

Left view icon

Finally, you can set the board to automatically rotate via the Auto Spin command on the View Menu in the 3D Viewer.

The arrow keys on the keyboard can be used to ‘nudge’ or fine tune the position of the board for viewing.

Zooming In and Out

It is highly likely that we would want to examine the board more closely. Fortunately, this is as simple as rolling the middle mouse button forwards and backwards to zoom in and out respectively.

If you don’t have a middle mouse button you can also zoom in and out using any of the following techniques:

  • Menu options on the View menu
  • From the icons on the Navigation Menu
  • From keyboard shortcuts F6 (zoom in) and F7 (zoom out)

A good way to think of the current view is as though you were looking through a camera lens. Zooming in therefore equates to moving the camera nearer to the board and zooming out equates to moving the camera away from the board. Note that, as it stands, the camera is not moving across the board – simply forwards and backwards around the center of the board.

You can adjust the angle of the camera lens (between 30 degrees and 60 degrees) via the Camera command on the Settings menu in the 3D Viewer. In the vast majority of cases however, the default value is probably optimum.

Flying Over the Board

While the previously discussed techniques are useful in themselves the real benefit of the 3D Viewer is in allowing you to examine areas of the board that are of interest – essentially to navigate around the current view of the board.

To navigate around the current view:

  1. Point the mouse at the center of the board.
  2. Left click the mouse once – the mouse cursor will change to a ‘bombsight’.
  3. Move the mouse around the board, rolling the middle mouse button to zoom in or out of areas of interest.
  4. Right click the mouse to exit ‘fly-by’ mode when you are finished.

For example, moving the mouse towards the resistor bank at the top left of the current view and then rolling the mouse wheel allows us to zoom in and examine that area of the board in some detail.

Remember that you can quickly return to a preset view of the board via the shortcut keys or any of the methods described previously.

It is important to realize that what we are doing here is moving around the current view, rather than changing the view itself. In the camera lens analogy mentioned previously we are moving the camera around the board (and indeed, forwards and backwards when zooming) but we are not moving the board itself.

Advanced Navigation

Until this point we have (quite successfully) navigated the board within the preset views. However, it may be necessary to create a custom view of the board in order to better view a particular area of circuitry. We can do this by orbiting the board as follows:

To orbit the board:

  1. Point the mouse in the centre of the board.
  2. Left depress the mouse. Moving the mouse up and down will adjust the pitch and moving the mouse left and right will adjust the yaw (direction).
  3. Release the mouse when the desired view has been reached – you can then move the camera position on the current view by moving the mouse and adjusting zoom settings.
  4. Right clicking the mouse will exit the ‘flyby’ mode.

Using the left depress to spin the board together with the flyby mode allows you to view the board from any angle and position. It is, however, a technique that is somewhat harder to master (at least for non-gamers!). If you get into trouble you can reset the board to one of the preset views via the keyboard shortcuts F8 through F12.


Customisation

BOARD CUSTOMISATION

Overview

The 3D Viewer provides a number of options allowing you to customize both the appearance and view of the board. These are board level commands and quite distinct from customization of models/footprints which is discussed in detail in a subsequent topic.

Dimension Configuration

Clearly the size of the board is determined by the board edge in the ARES Layout package. You can however, configure board thickness, feature thickness and height clearance from the Dimensions command on the Settings menu.

Dimension settings in the 3D Viewer

The board thickness defaults to 1.25mm but can be adjusted within the range of 0.1mm to 10mm. The feature thickness is the amount by which the tracks and silkscreen graphics are extruded from the board (if you zoom in closely you can see this). By default this is set to be 50um – adjusting this to say, 500um, would present a far more extreme view of the board.

The height clearance at the top and bottom represent the dimensions of the container for the PCB and – together with the heights bounds icon – allow you to check whether your PCB will fit in the container.

Height icon

Colour Configuration

In addition to configuration of general board dimensions we can control the base colours for the board. This is handled via the Colours command on the Settings menu.

Colour settings

The options are all fairly self-explanatory and, while the defaults are perfectly adequate, it is quite simple (and surprisingly effective) to adjust the values to match either the physical board or your personal preferences. For example, the board below is a pretty realistic representation of Microchip Technology’s™ PICDEM 2+ Evaluation Board.

Microchip Technology’s™ PICDEM 2+ Evaluation Board


HEIGHT PLANE CLEARANCE

Overview

This feature allows you to define a bounding box (representing the container for the board) of specified dimensions. When enabled. the box will appear in a semi-transparent colour around the board allowing you to quickly determine which objects protrude from the container.

Height clearance box shows any components that will be too tall

To specify the dimensions of the bounding box

  1. From the 3D Viewer select the Settings Menu and then the Dimensions command.
  2. Specify the required dimensions for Height Clearance (Top) and Height Clearance (Bottom).
  3. Select the OK button to exit the dialogue form.

The height of the components may not be exact to the 'real world device'. Packages with assigned STEP models should be checked by the user before exporting the board for MCAD production

To enable viewing of the bounding box

  1. Select the 3D Bounds icon (at the right of the bottom toolbar in the 3D Viewer)

    OR
  2. Select the Height Bounds command from the View menu in the 3D Viewer.

This command can be toggled to enable / disable the height bounding box

To change the colour of the bounding box

  1. From the 3D Viewer select the Settings Menu and then the Colours command.
  2. Click on the Height Plane checkbox and change the colour as desired.
  3. Select the OK button to exit the dialogue form.


Output

PRINTING & OUTPUT

Printing

3D Printing is enabled via the Print command on the File Menu and configured via the Printer Setup command.

If either of these conditions is not met for your printer then you will get an error when you try to print. In such cases you might consider taking a screen grab manually (ALT+PRINTSCREEN) or using the export command as described below.

Embed 3D Models

If your project contains STEP/IGES files that you've imported and you want to share or use the project on another computer then you most likely want to carry all the STEP/IGES files with you. Proteus can embed all of the relevant files for you via the Embed MCAD Models command on the File Menu in the 3D Viewer. This will of course make the resulting project file size considerably larger.

Embed the MCAD models used in this project into the project file via this menu option.

The Embed MCAD Models is a toggle and can be turned on or off per project. It defaults to OFF on a new project due to the huge difference enabling it will make to the size of the project file.

How it works

When the option is selected all of the 3D models for the components are stored inside the PDSPRJ file for the project. When the project is opened all of these files are extracted into a temporary directory and used for the 3D Visualization of the project. They are not copied across automatically into the MCAD directory of the computer in case a different file with the same name already exists there.

If you want the STEP/IGES files to be stored in the MCAD directory of the computer for later use then you need to select the parts on the layout and use Make Package to store the footprints into the libraries on the computer. This tells Proteus that you want the part and it's associated MCAD file to be stored on the PC and the software will take care of copying the 3D file across into your MCAD directory.

In summary, after embedding the 3D models the project file can be shared without worry about overriding files on other computers. If you want to store the 3D model files on other computers then use Make Package on the parts in the layout.

The location of the Permanent MCAD Model storage is set via System Menu - System Settings

MCAD Output

Export of the board for data exchange with MCAD software such as Solidworks, PTC or Autodesk normally takes place via the STEP or IGES file formats. These options are all available from the Output Menu in the ARES PCB Layout module.

M-CAD Data Exchange Options.

As with the 3D Viewer itself, these export options form part of the Advanced Feature Set and are enabled on PCB Design Level 2 and higher.

Do note that export of a STEP assembly is very computational intensive and, even for a modest board, several minutes processing time is not unusual. Progress will be reported in the log but it is often a good time to switch the kettle on and make a cup of coffee.

Export Rules

  • The PCB board is exported.
  • All holes on the board are exported.
  • For each footprint on the board the MCAD model is exported.
  • If no MCAD model exists a basic extrusion is exported and coloured red.
  • The part reference information is exported.
  • Tracks, silkscreen and other objects are not exported.

It is important to understand that visual models (3DS files) are not exported in a STEP or IGES file format as they are a collection of triangles rather than an object. For M-CAD export you must have a model in the M-CAD tab of the dialogue form.

You must have either a geometric description or a STEP file on this tab to export a model in the STEP or IGES file.

Graphical Output

Graphical output takes place from the Export 3DS command on the File Menu of the 3D Viewer module. The difference here is that everything you see on the board is exported (silk, traces, copper, mask,, zones, objects, holes, board ,etc..) and the resulting file may therefore be very large.

It is very unlikely that the resulting output file will be of use in an M-CAD environment but it is nonetheless the most complete visualisation output available.


MODEL TYPES

Overview

In order for the 3D Viewer to do a sensible job of rendering a preview of your board, it must have 3D data for each package on the layout. Most of the Labcenter supplied footprints already contain this information but parts that you create yourself will not. There are three types of 3D data that can be used:

STEP or IGES File (MCAD Tab)

Easily found on the internet (e.g. www.3dcontentcentral.com). Best suited to parts with significant height from the board or connectors, although plenty of nice detail available. File sizes can be large.

Will export in STEP Assembly.

Will export in Graphical Output.

Will render in the 3D Viewer if no Visual Model is present.

Importing STEP or IGES Models

Geometric Model (MCAD Tab)

Simple to enter and fast to render in the viewer. Excellent for general purpose models and particularly suited to high pin count parts where STEP files can be large and unwieldy.

Will export in STEP Assembly.

Will export in Graphical Output.

Will render in the 3D Viewer if no Visual Model is present.

Writing Geometric Models in Proteus

3DS File (Visual Model Tab)

Created in various free tools such as Blender. Highly detailed graphical models but not suited for export to Solidworks or other MCAD tools.

Will not export in STEP Assembly.

Will export in Graphical Output.

Will always render in the 3D Viewer if specified (takes priority over MCAD models for the 3D Viewer).

Importing 3DS Visual Models


IMPORTING STEP or IGES MODELS

Overview

STEP Files and, to a lesser extent, IGES files are commonly used in data exchange for mechanical CAD packages such as Solidworks. Proteus supports both the import of individual STEP / IGES models for packages and also the output of the Proteus layout as a STEP assembly.

Importing a STEP File

1) Download the STEP file from a manufacturers website or a content website such as www.3dcontentcentral.com.

2) Move the STEP File into the MCAD directory of your Proteus installation. By default, this will be

C:\ProgramData\Labcenter Electronics\Proteus 8 Professional\MCAD\

3) Select Package mode, pick the package you want from the libraries and place on an empty area of the editing window.

4) Tag the part and invoke Make Package from the Library Menu.

5) From the 3D mechanical model tab, select the MCAD File option and browse to the STEP file.

6) Use the offset and rotation commands to position the part correctly.

An example of a STEP File

Note that STEP files can be extremely large and often needlessly so. If you have options for a STEP file it is worth thinking about filesize because it will have a significant impact on performance. You can also use Labcenter geometric models for large pin count parts - these will still export as STEP but will render far more efficiently.


WRITING GEOMETRIC MODELS IN ARES

Overview

Geometric Models are ideally suited for use in the 3D Viewer as they consume no disk space, are contained in the Proteus PDSPRJ file and are quick to render. This is especially true for large pin count SMD devices where a STEP file can come in at 10Mb or more. It is therefore well worth learning a little about how to create and define scripted models - at the very least it will help you achieve model completion in the rare instances where you cannot source STEP models for a part.

The idea is simply that we type in parameters according to the type of package in order that our 3D footprint more accurately reflects a real world device. Clearly the type of model depends entirely on the dimensions of a physical part so we’ve summarized the information below.

Writing a Geometric Model

1) Select Package mode, pick the package you want from the libraries and place on an empty area of the editing window.

2) Tag the part and invoke Make Package from the Library Menu.

3) From the 3D mechanical model tab, select geometric model option.

4) Use the Labcenter scripting language to define the shape and type of the model. This is covered in the language reference guide below

Note that a Geometric model must always start with TYPE=X where 'X' is one of the following:

- CUBOID

- EXTRUDED (extrudes from the silk screen). N.B the package must have a closed silkscreen path.

- AXIALCYLINDER

- NONE

Language Reference Guide

Body Type EXTRUDED (Default)

This method, used in the default case where no TYPE property has been specified, attempts to form a closed polygon from a graphic on a particular layer, and then extrudes that polygon in the Z dimension. Should there be no closed polygon type extruded behaves in the same way as TYPE=NONE (detailed below), although additional processing is done to determine this case.

The LAYER property can be used to override which board layer is used to form the basis of the closed polygon, where the following values are available:

SILK MECH1 MECH2 MECH3

MECH4 KEEPOUT OCCUPANCY

The default for the layer property the silk screen layer.

The following standard properties are also available:

Property | Description
COLOUR | R,G,B value for the colour of the body.
MINHEIGHT | Specifies the height of the bottom of the body from the top of the board.
MAXHEIGHT | Specifies the height of the top of the body from the top of the board.
X | Specifies the X-axis distance of the origin of the body to the origin of the board graphic.
Y | Specifies the Y-axis distance of the origin of the body to the origin of the board graphic.
ANGLE | The angle of the body relative to the packages angle (e.g. ANGLE=45).

Assignment of properties in the script block is made in the normal way:

<property>=<value>

with the exception of the colour property which is assigned as:

COLOUR=(R,G,B)

Body Type NONE

Setting this body type removes both the body and the pins, leaving a simple hole in the board.

TYPE=NONE

However if you require a JUMPER for example then you can add the parameter PINTYPE=STRAIGHT which will redraw the pins. For more information, please see the subsequent section on Pin Types.

Body Type CUBOID

The following details the provided properties for a cuboid body type:

Property | Description
TYPE | Sets the body type (CUBOID in this case).
COLOUR | R,G,B value for the colour of the body.
MINHEIGHT | Specifies the height of the bottom of the body from the top of the board.
MAXHEIGHT | Specifies the height of the top of the body from the top of the board.
X | Specifies the X-axis distance of the origin of the body to the origin of the board graphic.
Y | Specifies the Y-axis distance of the origin of the body to the origin of the board graphic.
SX | Specifies the size of the width of the cube.
SY | Specifies the size of the length of the cube.
ANGLE | The angle of the body relative to the packages angle (e.g. ANGLE=45).

Examples of this type include the SMT resistors and the QFN footprints in our libraries. If you select and place one of these parts and then invoke the '3D Models' command from the context menu (as above) you should see that the following properties have been added:

TYPE=CUBOID

COLOUR=(75,75,75)

X=0.250mm

Y=-0.250mm

MINHEIGHT=0.100mm

MAXHEIGHT=0.800mm

SX=7.000mm

SY=7.000mm

PINTYPE=CUBOID

PINMAX=0.1mm

This duly produces a 3D cuboid as shown in the preview window. Adjusting values will live update the preview window, allowing you to quickly customize to your requirements.

0805 resistor with the specified parameters applied

Body Type AXIALCYLINDER

The following details the provided properties for a axial-cylinder body type:

Property | Description
TYPE | Sets the body type (AXIALCYLINDER in this case).
COLOUR | R,G,B value for the colour of the body.
MAXHEIGHT | Specifies the height of the top of the body from the top of the board.
X | Specifies the X-axis distance of the origin of the body to the origin of the board graphic.
Y | Specifies the Y-axis distance of the origin of the body to the origin of the board graphic.
LENGTH | Sets the length of the cylinder.
ANGLE | The angle of the body relative to the packages angle (e.g. ANGLE=45).
RADIUS | Controls the radius of the cylinder about the cylinders axis.
BEND | Sets the position and colour of the resistance bands.

The final two parameters are worthy of further discussion as they allow provide considerable depth of control and also enable automatic colour coding of resistor bands for example.

The RADIUS Property

The RADIUS property is of the form:

RADIUS=P1,P2,P3,P4

Where:

  • P1 Controls the vertical radius of the cylinder.
  • P2 Controls the horizontal radius of the cylinder.
  • P3 Controls the depth of the radius towards the cylinders axis.
  • P4 Controls the depth of the radius along the cylinders axis

Essentially, the first two parameters allow for the production of elliptical bodies and the second two parameters extend the functionality to allow for the creation of torpedo shapes.

Note that it is not necessary to supply all four parameters if the desired shape does not require them. The default for the first radius parameter is a small nominal value such that the cylinder is visible. The default for the second radius parameter is to take the value of the first radius parameter. The default for the third radius parameter is zero. The default for the fourth radius parameter is to take the same value as the third

The BAND Property

The BAND property is of the form:

BANDx=P1,P2,(r,g,b)

Where x can be a number from 1 to 9 (up to 9 bands permissible) and:

  • P1 The starting point of the band along the axist of the cylinder (as a percentage of the cylinder size.
  • P2 The end point of the band along the axis of the cylinder (as a percentage of the cylinder size)
  • RGB The colour value of the band. If omitted, the default colour will be calculated from the components value field, allowing for automatic colour coding of resistors etc.

The vast majority of resistors in our libraries are created in this way. If, for example, you pick a RES40 from the libraries and invoke the 3D Visualisation command from the right click context menu you should see that the following properties have been added:

TYPE=AXIALCYLINDER

MAXHEIGHT=2

LENGTH=0.2in

RADIUS=0.027in,0.027in,0.2mm,0.2mm

X=0.2in

Y=0.0in

COLOUR=(128,64,64)

BAND1=20,25

BAND2=30,35

BAND3=40,45

BAND4=50,55

BAND5=80,85,(128,128,0)

In particular, note that no colour parameter has been specified for the majority of the bands as we want the 3D viewer to calculate the colour codes for us depending on the value of the resistor. What we are saying is that BAND1 starts 20% along the cylinder and stops 25% of the way along, BAND2 starts 30% of the way along and stops at 35% of the way along, etc. etc.

RES40 parameters as specified above

The calculation of the colour band values only takes place when the 3D Viewer is invoked on a board. Feel free to try this, first editing the RES40 and setting a value and then invoking the 3D Viewer from the Output Menu.

Pin Types

Having customized the body type it is sometimes also necessary to change the pin type for the 3D model.

There are six styles of pins available for use as follows:

If you do not require a pin at all then set the type to be PINTYPE=NONE

The default pin type in a given situation is dependant on the pad style in ARES and also on whether the pad is below the footprints 3D body.

For through hole pads, the default pin style is BENTWIRE unless the pin is under the package body or there is no package to attach to, in which case the default becomes STRAIGHT. For surface mount pads, the pin style is SMTZ unless the pad is below the package body or there is no package to attach to, in which case the default becomes SMTJ.

These defaults tend to work well but if need be you can assign a specific pin type in the normal way. i.e. PINTYPE=xxxxxx. Additional properties that can be applied to pins are detailed below:

Property | Description
PINCOLOUR | R,G,B value for the colour of the pin.
PINMAX | This indicates the highest extent of the pin from the surface of the board and is used by all pin types.
PINMIN | This indicates the lower extent of the pin from the surface of the board. For through pins this will likely be a negative value, for surface mount it is likely to be zero.
PINDIAMETER | For STRAIGHT and BENTWIRE pins, this controls the diameter of the pin. For SMTB it controls the diameter of the hemisphere.
PINLENGTH | For SMTJ and SMTZ this controls the length of the base of the pin.
PINTHICKNESS | For SMTJ and SMTZ this controls the thickness of the pin.
PINWIDTH | For SMTJ and SMTZ this controls how width of the pin.
PINMOVE | This moves the pins closer or further away from the boundary of the package body by the fixed amount specified.

Two additional properties, called PINANGLEABS and PINANGLEREL are available if needed. They allow you to more accurately position one or more of the pins. The following are some examples of usage:

PINANGLEABS=90 : all pins are rotated 90 deg absolute.

PINANGLEABS[1]=90 : Pin 1 is rotated 90 deg absolute.

PINANGLEREL=90: All pins are rotated 90 deg relative to the angle formed by the pin centre to the nearest point on
the extruded body.

PINANGLEREL[1]=90 : Pin 1 is rotated 90 deg relative to the angle formed by the pin centre to the nearest point on
the extruded body.

PINANGLEREL or PINANGLEABS will not be required for the majority of cases and is only used to fix pins in rare cases. It os not recommended that you use this as a standard parameter.


IMPORTING 3D VISUAL MODELS

Overview

Visual Models (3DS files) can be imported into the 3D Viewer via the following simple procedure:

To use a 3D model created in another package:

  1. Export the model from your package as a single object in the 3DS file format.
  2. Place the 3DS file in the library directory of your Proteus installation. Place the footprint in ARES and select the 3D Visualisation option from the resulting context menu. You will then be presented with something similar to the below:

  3. Type in the File name including the extension
  4. Type in the name of the object within the 3DS file that you wish to display. 3DS files can hold multiple components and each component can and should be given a name. For example, using Blender (www.blender.org) - which is free - you set the name of the object in the top left and is also displayed bottom right:

99% of the reason that the 3D model does not appear, is because the user has this field wrong.

The 3D Viewer operates is terms of numbers and not in terms of physical dimensions. You must therefore specify what size a single unit is. This is typically 1mm, 1in, 1cm etc.

Finally, it is possible that the model may require an X or Y offset to position it correctly. You can therefore adjust the position using the X/Y Offset fields.

For example, an Electrolytic Radial capacitor would be as follows:

Guidelines for Model Creation in Another Package

The key to any good 3D model is sufficient detail that it looks correct from the distance the user is likely to use, while at the same time keeping the number of polygons that make up the 3D model low enough that the display generation and update will be reasonably fast.

A classic example of where the above two criteria conflict is in a cylinder: the number of facets that make up the approximation of a cylinder has to be such that the stepping is not obvious, whilst at the same time too many facets will quickly produce a high polygon count that could quickly swamp the rendering pipeline's processing resources, this problem can be further compounded when the 3D model in question is merely a small radial capacitor that no one would even notice missing or is perhaps obscured by other components.

Based on the above, here are some simple guidelines for creating a good quality 3D component.

  1. Give the model sufficient detail that the object is representative of the component and that the user would be able to identify the approximate type of component, though not necessarily the specific component.
  2. Use as few polygons as you can get away with: if you model has twice as many polygons as is required your model will be twice as slow to draw, this is not normally a problem for one component but if you have PCB with 50 of them on you may get problems.
  3. One of the areas where excessive polygons occur is on smoothed non planar shapes: curves. The trick here is, where possible, to use smoothing, this causes a face to look curved without actually having to be curved.
  4. Keep an eye on the number of vertices and faces in a model, if they are hitting the thousands and it is not a particularly complex part, you are likely making the model excessively detailed or wasting polygons.
  5. Do not be afraid of hand editing the results that are produced by the 3D editing package's own algorithms, often they do not produce optimal results.
  6. The import routine assumes a model is a single object in the *.3DS file, it is quite possible that you will have to merge multiple objects to create a final object. You will also have to name that object appropriately.


Updating Old Designs with 3D Data

UPDATING OLD PROJECTS WITH 3D DATA

Overview

When open the 3D Viewer on a layout you have created in an older version, or containing footprints that you have created yourself, you will see that some (or most!) of the 3D footprints are coloured red. This indicates that a 3D model is not present for a given footprint and that a simple extrusion of the silkscreen has been used to provide basic 3D capabilities.

If the board has been created in an older version of the software you can automatically apply MCAD model data to the board via the ‘Update MCAD Data’ command on the Library Menu in ARES. This action will update all the packages in the layout with MCAD data from the parts in the libraries.

Similarly, the Update Visual Models command in the 3D Viewer will update all of the parts with Visual Models where they exist in the libraries.

Naturally, these commands affects only those parts for which 3D models exist in the libraries (all pre-supplied footprints and any custom footprints for which you have created 3D models). Parts which have no 3D data associated with them will still appear in red and you must create a 3D model for them as detailed here. Alternatively, if you are happy with the extrusion, but wish to change the colour, simply just type COLOUR=(50,50,50) and it will make it a dark grey. The Syntax is COLOUR=(R,G,B).


TROUBLESHOOTING

It will come as no surprise that a vast amount of computational power is required to generate a 3D View of a layout and this problem is compounded should the host machine be somewhat aged. It’s fairly obvious that typically the more complex the boards the longer the render time but there are particular entities and computer limitations that can also have a negative effect.

The speed at which the 3D scene is rendered depends on a number of factors, these can include, though are not limited to: the number and complexity of components; the complexity of the boards tracking, pads, holes and silk screen; the available memory on the machine and number of cores; the video card used; limitations in the video drivers; size and number of STEP models.

The number and complexity of components affects the total number of polygons in the scene, the more there are, the longer it takes to work out where they are in 3D, if they are visible and then if necessary to drawn them.

The complexity of the boards tracking pads and holes not only has a significant influence on the number of polygons that have to be displayed in the final scene, but also can place a significant burden on the pre-processing algorithms required to reduce the final polygon count and improve the image quality. Objects of particular note that may cause slow rendering are hatched zones and curved tracking.

The processing and storage of a 3D scene can consume significant quantities of memory, in some cases this consumption can be sufficiently high that data will need to be swapped to disk, which will slow down the processing significantly.

Video cards are available in a wide range of prices, with a general correlation between the price of the card and the speed at which it can handle 3D scenes, with higher priced cards also having additional features. Cards may also have hardware limitations, such as not being able to render on a secondary monitor or only being able to do so slowly.

Some video device drivers do not fully exploit the capabilities of a 3D video card, this is particularly true of many of the drivers supplied with the operating system. The first thing to do if you are experiencing a render failure is to try switching to an alternative 3D rendering technology. You can switch between OpenGL and DirectX (Direct3D) from the Set Display Options on the System Menu.

If you are experiencing delays or jumping, then it may help by turning the Multi-Sampling off. This can improve speed and stability of the 3D Viewer, especially if you are using INTEL Graphics cards.


Camera

Overview

This dialogue lets you configure some basic settings for the camera. You should imagine that the view of the PCB you see on the screen is through a camera lens.

Options

Camera Angle

This is the angle of the viewport to the PCB and defaults to 45 degrees.

Brightness

This is the brightness of the backlight on the PCB. The setting of this really depends in large part on whether or not you have made user colour changes.


Colour Configuration

Overview

This dialogue form allows configuration of colours for various features on the 3D representation of the board. The majority of the options directly affect the visuals of the PCB but the height place is an optional semi-transparent box and the background colour is the colour of the rest of the screen.

Colour settings are per-project, unless you persist them by saving user settings via the command at the bottom of the Template Menu.


Dimernsions

Set Dimensions

Overview

This dialogue lets you configure height dimensions for various features on the physical PCB. These settings are reflected in the 3D Viewer display.

Options

Board Thickness

The complete thickness of the PCB from the bottom surface to the top surface

Feature Thickness

Specify the height of copper features (e.g. tracks) on the PCB.

Height Clearance (Top/Bottom).

The height of the semi-transparent bounding box that can be placed around the PCB. This is used to quickly test clearance against casings.

See Also:

Height Place Clearance


Display Settings

Overview

This dialogue allows you to configure which hardware acceleration technology to use for display in the 3D Viewer. If your graphics card is capable of rendering with both technologies it may well be worth switching as often OpenGL is significantly faster than Direct3D.

Options

Graphics Mode.

Choose between OpenGL and Direct3D graphics rendering for the 3D Viewer.

Multi-Sampling

Multisampling, also known as multisample antialiasing (MSAA), is one method for achieving full-screen antialiasing (FSAA). With multisampling, each pixel at the edge of a polygon is sampled multiple times. For each sample-pass, a slight offset is applied to all screen coordinates. This offset is smaller than the actual size of the pixels. By averaging all these samples, the result is a smoother transition of the colors at the edges.

Needless to say, multi-sampling will increase the load and refresh time of the 3D Viewer so you need to balance the value used here against performance in your project.