SolidWorks Graphics

260 0

SolidWorks is one of those applications that likes to push boundaries. One could argue that it was the fi rst reasonably priced solid modeller that actually worked, resulting in a dedicated base of users doing some of the most diverse designs of any solid modeller on the market.

Order Independent Transparency (OIT), new for SolidWorks 2014, renders transparent objects much more accurately and quickly

When it comes to 3D graphics, SolidWorks also raised the bar with “RealView”, the realistic interactive real time renderer. The surprising thing is, from talking with the SolidWorks users that I meet, RealView appears to be underused.

Some argue that it’s because they are modelling something simple, like a basic engineering part and not a fl ashy industrial design, but I would suggest that RealView has a much broader application.

Most things that are designed and manufactured need to be looked at and handled in some way. In the past I worked for a tooling company where everything we made consisted of various colours of grey steel.

Using RealView lighting on these types of models would mean I would have been able to see where the shadows were being cast and where to design the grab holds on which to mount the jig to the machine.

Advertisement
Advertisement

SolidWorks has moved on with its RealView engine over the last few years. When Ambient Occlusion was first implemented in SW2008 it wasn’t real-time and had to be switched off when spinning the model.

Ambient Occlusion is a way of looking at light that is bouncing off of the object itself, helping it look less rendered and more lifelike.

In SW2013 a draft technique derived from Screen Space Ambient Occlusion (AO) that allows a fast approximation of AO in real-time was implemented. This was more of what designers were looking for, as it allows them to check the look and feel of their model whilst it is rotating.

SolidWorks has lots more toys too. Self shadowing is employed, where one component casts a shadow onto itself or onto other components in the assembly. This utilises a PCF (percentage close
filtering) technique to smooth shadow edges at no cost in time to compute — the blurring is done in the GPU hardware. We all like free stuff .

Full screen Anti-Aliasing is a way of stopping the “jaggies” (the little steps you get with lines and edges). Anti-Aliasing basically fills in the gap with a little pixel to smooth the edge so it looks as it does in the real world.

If you are into aesthetic design it adds a lot to the viewport, but if you use this with an HD resolution and above display it can make the graphics card work quite hard, so you might need to get a faster one.

SolidWorks 2014: Transparency on steroids

SolidWorks 2014 has just been announced and includes an important new graphics technology called Order Independent Transparency (OIT). OIT assembles a “pixel-accurate” representation of the model and its surrounding geometry in the GPU memory.

This creates a more practical transparent 3D viewpoint for designers to continuously work within, helping improve the designer’s sense of “design intuition” and aid in better decision-making throughout the product development stages.

Simply put it means when you are in a transparency mode you can see objects closer to the screen more accurately and without errors. The information is held in the GPU memory and can be acted upon quickly, thereby by improving the performance of an area that could slow down any design system.

The best news is that you can apply all of these effects at once, which is fairly unique (unless you’re using a dedicated styling application).

Boosting performance

As you increase your assembly size, you are effectively increasing the amount of lines and surfaces you have to display on screen, so the slower the interactive model will
go.

There are several ways to fi x this. You can throw a high performing graphics card at it, write optimised code, or write support via one of the high level languages.

SolidWorks has VBOs (Vertex Buff er Objects) implemented in its OpenGL graphics engine. These allow geometry to be stored in the graphics card (Frame Buffer) memory and even updated without using many CPU cycles.

The more graphics memory you have then the larger the models are that can be manipulated without taking a performance loss.

If you have massive models then a faster card is still required but the combination of fast GPU, big frame buffer and a card that supports advanced OpenGL will allow a new level of assembly size to be edited interactively.

AMD also has several tools to help you with your implementation. AMD FirePro cards can use a free memory tool that shows how much memory is being used by your system and by your GPU. There is also a tool that measures how many triangles you have in your model. Both of these are useful if you are pushing your system to its limits.

In summary, as the native screen image of SolidWorks can now be of such a high quality then the need to ray trace render with PhotoView 360, RealView Plus (a new viewport renderer for SolidWorks 2014), or other software is diminished. All you need to do is take a screen grab.

It is even better if you need to demonstrate your design to a customer as you can show interactively a 3D real object. This is not as much as gimmick as it was once thought of.

With all of the realism, effects and performance available with the advanced graphics and OpenGL functions, SolidWorks is pushing the boundaries of mid-range modelling software — if that term can be applied anymore!

SolidWorks 2014 extends the capabilities of mid-range modelling software
Default


The best graphics cards for running Solidworks

260 0

When choosing a professional graphics card for SolidWorks bigger is not always better. It depends on the types of models you create, writes Greg Corke
In terms of 3D graphics, SolidWorks is one of the most advanced mid-range CAD applications out there. Its RealView technology, which enables designers to work with realistic images when modelling, was one of the first examples of real time rendering in a mainstream CAD application.

SolidWorks was also one of the first applications to feature Level of Detail (LoD) technology in its 3D graphics engine, which simplifies geometry when rotating, panning and zooming in order to maintain frame rates. And finally, it features a technology called VBOs (Vertex buffer Objects), which takes some of the load off the CPU (Central Processing Unit) and puts it onto the GPU (Graphics Processing Unit) to improve performance.

Click to find out which graphics cards clocked up the best results when working with Solidworks

In the course of this article we will look at how these different technologies affect 3D performance by testing with a variety of models, display states, and a wide range of professional graphics cards, from the entry-level right up to the high-end. Before we do this though we need to explain a few things in a bit more detail.

Advertisement
Advertisement

RealView

This uses the Shader Model 3.0 capabilities of modern professional cards to give a more realistic visualisation of real world materials. By having this enhanced visual quality, however, an additional load is placed on the graphics card, which can greatly affect performance.

The technology was introduced in SolidWorks 2007 with basic set of around 100 shaders but for 2008 the whole technology was revamped and SolidWorks took the materials and textures from its rendering add-on, PhotoWorks, and implemented them in RealView.

Some users, particularly those involved in product design, like to use RealView all the time as they find it helps to model with realistic materials. Others, perhaps those in machine design, prefer to switch it off completely as they find it detracts from the modelling task at hand. Shading can also be used to communicate other information in the design. For example, colouring all the weld faces in an assembly in blue for clarity.

SolidWorks

SolidWorks digital camera model features complex geometry

Large Assembly Mode

This was introduced to help prevent workstations grinding to a halt when working with sizeable models. It is automatically invoked when an assembly reaches a certain number of components. Large assembly mode automatically switches off RealView and sometimes edges, and when panning, zooming, rotating, or moving a component, decreases the Level of Detail seen in the model. Sometimes this can mean quite complex geometry is reduced to simple boxes.

Large assembly mode is optional. Some users prefer working with it on because they don’t like experiencing jerky graphics, which can happen with particularly large models. Others prefer not to use it because they want to see the full details of their designs at all times. Settings can be fine tuned for a balance between quality and performance.

Vertex Buffer Objects (VBO)

These allow 3D geometry to be loaded, stored and processed on the graphics card. When displaying a model, geometry data doesn’t have to be moved back and forth over the PCI Express bus, as has traditionally been the case. This helps minimise the instances when the GPU has to wait for the CPU (as it is often tied up with other tasks) and as a result can boost real-time 3D performance.

In SolidWorks, VBOs are built for every individual body in the model. Complex bodies that are made up of many faces benefit much more from VBOs than simple bodies with few faces. To put this in perspective, when VBOs are turned off in the relatively complex digital camera model (see Figure 1) 3D performance is about 2x slower. However, with a huge model made entirely out of cubes, VBOs would provide no benefit.

Those who use RealView on models featuring complex geometry are likely to benefit more from powerful graphics cards than those with simple geometric models

TEST process and results analysis

Graphics performance can be measured in many ways, such as the time taken to generate a scenegraph or to switch between modelling windows. However, the most common method is to test for frame rate. Generally speaking 20-30 FPS is preferable for smooth model manipulation, though some find they can work with 10-20 FPS. Anything less and models are generally too jerky and it’s hard to move them accurately on screen. To capture frame rate we used a macro called Spin500 that rotates a model and records an average Frames Per Second (FPS). It should be noted that this is likely to record slower frame rates than in the real world as it bypasses some of SolidWorks’ optimisations.

We tested each graphics card in SolidWorks 2009 with the latest certified drivers using a range of models with RealView switched on/off. Large Assembly mode was switched off and the display mode was set to shaded plus edges.

A single workstation was used for testing and this featured a Core i7 940 (2.93GHz) processor, 6GB RAM and Windows XP X64 Edition. The machine was provided by Workstation Specialists (previously known as CAD2), the only independent workstation manufacturer to have been awarded SolidWorks Solution partner status (www.workstationspecialists.com).

Our first model, the digital camera assembly (see Figure 1),is made up of relatively complex geometry and the more powerful graphics cards showed real benefit when RealView was turned on. This is because the model makes good use of complex VBOs so the full power of the card is able to be harnessed. With RealView turned off, the frame rate rose considerably, but there was very little performance difference between the cards. This is because far less load is placed on them and most can deal easily with this level of computation.

For our second test model, the radio-controlled car (see Figure 2), there was little additional benefit from the higher end cards with both respective families of FirePro and Quadro FX cards delivering similar results. The logical explanation for this is that the CPU becomes the bottleneck meaning SolidWorks can’t make use of the additional power of the higher-end cards. To increase graphics performance a CPU with a greater GHz would be required.

AMD’s ATI FirePro V3700 was the anomaly in this test with its performance significantly slower with RealView switched on. This suggests that the graphics card is the bottleneck here and not the CPU. However, once the load on the card was lightened by turning off RealView, the performance of the V3700 was as good as the other cards.

SolidWorks

SolidWorks radio controlled car model features relatively simple geometry

We also tested with other assemblies. Most benefitted from the more powerful cards, but to a lesser extent than with the camera model. Some extremely large models supplied by RJ Herbert, a manufacturer of handling equipment, were CPU limited with no perceivable benefit from the more powerful graphics cards and delivering poor frame rates. The geometry of these models was not particularly complex, but the number of components was huge.

Putting these results in perspective, and simplifying things considerably, frame rate is governed by two factors – the number of components and the number of triangles (a rough measure of the complexity of the geometry). The more components there are, the more complex the assembly tree, and a greater load is put on the CPU. Models with highly complex assembly structures are likely to become CPU limited (the CPU is the bottleneck).

The more triangles there are, the bigger the load on the GPU. If you have a model with lots of complex surfaces/components, each having a huge number of triangles, the GPU may become the bottleneck before the CPU and hence users will benefit from more powerful graphics cards.

Closing thoughts

Choosing a graphics card for SolidWorks is not a straightforward process. It depends entirely on the types of models you work with and how you wish to view them.

In all scenarios, start off with the fastest GHz CPU you can afford. This will boost 3D performance across the board. Next up you need to consider the types of models you work with. Those who use RealView on models featuring complex geometry with lots of faces are likely to benefit more from powerful graphics cards than those with simple geometric models.

In terms of specific cards, at the entry-level, the FirePro V3750 offers excellent price/performance, though if you work with particularly large assemblies which use more than 256MB frame buffer memory (see box out), the FirePro V5700 or Quadro FX 1800 may be better options. For GPU-bottlenecked models, and where budgets allow, the Quadro FX 3800 looks to be an excellent choice.

When models reach a certain size/complexity, no matter how much graphics power you throw at them, it’s impossible to achieve desirable frame rates. In these instances it is essential to work in Large Assembly mode with Level of Detail degrading geometry to maintain frame rates.

www.solidworks.com
www.nvidia.com
www.ati.amd.com

Greg Corke discovers size isn’t everything. It’s what you do with it.
In terms of 3D graphics, SolidWorks is one of the most advanced mid-range CAD applications out there. Its RealView technology, which enables designers to work with realistic images when modelling, was one of the first examples of real time rendering in a mainstream CAD application.

SolidWorks was also one of the first applications to feature Level of Detail (LoD) technology in its 3D graphics engine, which simplifies geometry when rotating, panning and zooming in order to maintain frame rates. And finally, it features a technology called VBOs (Vertex buffer Objects), which takes some of the load off the CPU (Central Processing Unit) and puts it onto the GPU (Graphics Processing Unit) to improve performance.

Click to find out which graphics cards clocked up the best results when working with Solidworks

In the course of this article we will look at how these different technologies affect 3D performance by testing with a variety of models, display states, and a wide range of professional graphics cards, from the entry-level right up to the high-end. Before we do this though we need to explain a few things in a bit more detail.

RealView

This uses the Shader Model 3.0 capabilities of modern professional cards to give a more realistic visualisation of real world materials. By having this enhanced visual quality, however, an additional load is placed on the graphics card, which can greatly affect performance.

The technology was introduced in SolidWorks 2007 with basic set of around 100 shaders but for 2008 the whole technology was revamped and SolidWorks took the materials and textures from its rendering add-on, PhotoWorks, and implemented them in RealView.

Some users, particularly those involved in product design, like to use RealView all the time as they find it helps to model with realistic materials. Others, perhaps those in machine design, prefer to switch it off completely as they find it detracts from the modelling task at hand. Shading can also be used to communicate other information in the design. For example, colouring all the weld faces in an assembly in blue for clarity.

SolidWorks

SolidWorks digital camera model features complex geometry

Large Assembly Mode

This was introduced to help prevent workstations grinding to a halt when working with sizeable models. It is automatically invoked when an assembly reaches a certain number of components. Large assembly mode automatically switches off RealView and sometimes edges, and when panning, zooming, rotating, or moving a component, decreases the Level of Detail seen in the model. Sometimes this can mean quite complex geometry is reduced to simple boxes.

Large assembly mode is optional. Some users prefer working with it on because they don’t like experiencing jerky graphics, which can happen with particularly large models. Others prefer not to use it because they want to see the full details of their designs at all times. Settings can be fine tuned for a balance between quality and performance.

Vertex Buffer Objects (VBO)

These allow 3D geometry to be loaded, stored and processed on the graphics card. When displaying a model, geometry data doesn’t have to be moved back and forth over the PCI Express bus, as has traditionally been the case. This helps minimise the instances when the GPU has to wait for the CPU (as it is often tied up with other tasks) and as a result can boost real-time 3D performance.

In SolidWorks, VBOs are built for every individual body in the model. Complex bodies that are made up of many faces benefit much more from VBOs than simple bodies with few faces. To put this in perspective, when VBOs are turned off in the relatively complex digital camera model (see Figure 1) 3D performance is about 2x slower. However, with a huge model made entirely out of cubes, VBOs would provide no benefit.

Those who use RealView on models featuring complex geometry are likely to benefit more from powerful graphics cards than those with simple geometric models

TEST process and results analysis

Graphics performance can be measured in many ways, such as the time taken to generate a scenegraph or to switch between modelling windows. However, the most common method is to test for frame rate. Generally speaking 20-30 FPS is preferable for smooth model manipulation, though some find they can work with 10-20 FPS. Anything less and models are generally too jerky and it’s hard to move them accurately on screen. To capture frame rate we used a macro called Spin500 that rotates a model and records an average Frames Per Second (FPS). It should be noted that this is likely to record slower frame rates than in the real world as it bypasses some of SolidWorks’ optimisations.

We tested each graphics card in SolidWorks 2009 with the latest certified drivers using a range of models with RealView switched on/off. Large Assembly mode was switched off and the display mode was set to shaded plus edges.

A single workstation was used for testing and this featured a Core i7 940 (2.93GHz) processor, 6GB RAM and Windows XP X64 Edition. The machine was provided by Workstation Specialists (previously known as CAD2), the only independent workstation manufacturer to have been awarded SolidWorks Solution partner status.

Our first model, the digital camera assembly (see Figure 1),is made up of relatively complex geometry and the more powerful graphics cards showed real benefit when RealView was turned on. This is because the model makes good use of complex VBOs so the full power of the card is able to be harnessed. With RealView turned off, the frame rate rose considerably, but there was very little performance difference between the cards. This is because far less load is placed on them and most can deal easily with this level of computation.

For our second test model, the radio-controlled car (see Figure 2), there was little additional benefit from the higher end cards with both respective families of FirePro and Quadro FX cards delivering similar results. The logical explanation for this is that the CPU becomes the bottleneck meaning SolidWorks can’t make use of the additional power of the higher-end cards. To increase graphics performance a CPU with a greater GHz would be required.

AMD’s ATI FirePro V3700 was the anomaly in this test with its performance significantly slower with RealView switched on. This suggests that the graphics card is the bottleneck here and not the CPU. However, once the load on the card was lightened by turning off RealView, the performance of the V3700 was as good as the other cards.

SolidWorks

SolidWorks radio controlled car model features relatively simple geometry

We also tested with other assemblies. Most benefitted from the more powerful cards, but to a lesser extent than with the camera model. Some extremely large models supplied by RJ Herbert, a manufacturer of handling equipment, were CPU limited with no perceivable benefit from the more powerful graphics cards and delivering poor frame rates. The geometry of these models was not particularly complex, but the number of components was huge.

Putting these results in perspective, and simplifying things considerably, frame rate is governed by two factors – the number of components and the number of triangles (a rough measure of the complexity of the geometry). The more components there are, the more complex the assembly tree, and a greater load is put on the CPU. Models with highly complex assembly structures are likely to become CPU limited (the CPU is the bottleneck).

The more triangles there are, the bigger the load on the GPU. If you have a model with lots of complex surfaces/components, each having a huge number of triangles, the GPU may become the bottleneck before the CPU and hence users will benefit from more powerful graphics cards.

Closing thoughts

Choosing a graphics card for SolidWorks is not a straightforward process. It depends entirely on the types of models you work with and how you wish to view them.

In all scenarios, start off with the fastest GHz CPU you can afford. This will boost 3D performance across the board. Next up you need to consider the types of models you work with. Those who use RealView on models featuring complex geometry with lots of faces are likely to benefit more from powerful graphics cards than those with simple geometric models.

In terms of specific cards, at the entry-level, the FirePro V3750 offers excellent price/performance, though if you work with particularly large assemblies which use more than 256MB frame buffer memory (see box out), the FirePro V5700 or Quadro FX 1800 may be better options. For GPU-bottlenecked models, and where budgets allow, the Quadro FX 3800 looks to be an excellent choice.

When models reach a certain size/complexity, no matter how much graphics power you throw at them, it’s impossible to achieve desirable frame rates. In these instances it is essential to work in Large Assembly mode with Level of Detail degrading geometry to maintain frame rates.

www.solidworks.com
www.nvidia.com
www.ati.amd.com