cpq.se
we help nordic small- and midsized manufacturers get started with tools for configuration, pricing and quoting
Get Started

The Visual Asset Creation Process - Part 2

Posted On Thursday, November 19, 2020

Note: This blog has previously been published on www.tacton.com. The author is Marco Lang, Tacton’s Senior Visualization Product Manager. Marco has more than 10 years’ experience working with visual asset creation, and configuration at Lumo Graphics, and now Tacton. In case you missed it check out the first installment of Visual Asset Creation here.

Optimizing visual asset creation a definition
Optimization refers to the process of finding a trade-off between Visual Fidelity, download speed and Rendering performance.

CAD 
In modern engineering design, nearly all 3D geometries are created by computer-aided design (CAD) systems. And those geometries are the natural starting point or input for creating Visual Assets for a 3D real-time visualization.

B-Reps and NURBS 
Boundary representations (B-Rep) are the primary method of representing modeled objects in those CAD systems. The mathematical description of curve and surface elements can vary but they are usually given in parametric forms represented by non-uniform rational B-splines (NURBS).

(Image of teapot represented by a B-Rep)
The main advantage of this representation is the ability to compactly describe a surface of almost any shape and store it in an efficient way. Additionally, the underlying math calculates an accurate definition of the surface shape independent of the distance the surface is examined. They do not have any pre-defined “resolution”.

The CNC machine tools that create the tooling for final products work from these accurate, smooth NURBS data. 

Tessellation 
Although NURBS are ubiquitous in the CAD industry, there is currently no built-in hardware support for displaying NURBS surfaces. To be displayed in a 3D application, NURBS surfaces need to be translated into meshes (polygons, edges, vertices), the native language of modern graphics cards. Graphics Processing Unit (GPU) pipelines are very efficient in processing triangles and they do not work properly with parametric surfaces.

visual assets

(Image of a teapot represented by a triangle model)

A Mesh Surface 
A mesh is composed of multiple connected polygons, or triangles, forming a mesh surface that is understandable by a GPU, to be rendered in a 3D application. The number of triangles in the polygonal representation depends on accuracy used when approximating the original precise B-Rep representation. This process of taking the continuous, mathematical equation of a surface and approximating it with polygons is called meshing, triangulation or tessellation.

Since the direct evaluation of NURBS surfaces on the GPU is a highly complex and computationally intensive task, they are usually converted in simpler surface descriptions and tessellated on the CPU (Central Processing Unit) as a pre–processing step. Afterward, the set of generated triangles is sent to the GPU.

The resource demands (CPU, GPU, Memory) to execute a dynamic re-tessellation at every frame on top of all other relevant tasks necessary for an interactive real-time visualization are simply too much for an average consumer device. Therefore, tessellation is not done on the fly while the 3D real-time visualization is running, it is done as a pre-process upfront. 

Simplification 
It is important to know that when using triangles to approximate smooth edges and 3D it is not possible to achieve the perfect smoothness of an image initially created in NURBS. Unless a very high number of triangles is used, relating to performance issues on the other side. Removing, combining or simplifying non-visual elements from CAD files is crucial for generating high-performance and high-quality visual assets. Optimizing visual asset creation is a key measure of success for any visual configuration project.

Tessellations

(Images of a teapot with different tessellation versions)

Part 3: Optimizing Visual Asset Creation will be available in a few weeks.

Top 5 things you should read or listen to before starting your CPQ project

Posted On Monday, November 2, 2020


Ok, so you're planning to implement CPQ at your business. You figured you should maybe do some reading to learn some tips and tricks. Where should you start?

We've collected the 5 most important things you should read or listen to about CPQ before starting your project.

1. Gartner's Magic Quadrant

Gartner publishes a research paper once a year in the form of a Magic Quadrant. The latest version was released in Fall 2020. The document can usually be downloaded for free from some of the vendor's web sites (Tacton).

2. Knowledge-Based Configuration: From Research to Business Cases by Alexander Felfernig, Lothar Hotz, Claire Bagley, Juha Tiihonen

This is an academic-styled book about configuration. We don't recommend you to read the whole thing, as it will gain you limited value for actually implementing CPQ. We do recommend chapter 2 for a brief history of configuration, chapter 6 for understanding of different technologies for CPQ and chapter 16-19 for valuable insights into implementations at different companies.

3. Product Customization by Lars Hvam
This is a really good book for preparing your company for a CPQ implementation, how to document your CPQ data before the implementation.

4. The CPQ Podcast

Novus CPQ is an independent CPQ analyst firm. Their podcast is focused on interviewing experts and CPQ vendors. Some of their interviews are really insightful:

5. Top 10 reasons why CPQ projects fail

Don't miss this blog post describing the top 10 pitfalls when implementing CPQ. Learn from mistakes made in other CPQ project, and avoid doing them in your project.

Constraints, rules or relations - what's the difference?



In CPQ, there's a lot of talk about the way you describe how the products can be configured. Some vendors talk about constraints, some about rules, some try to get around it by calling it constraint rules (I'm looking at you Apttus/Conga!).

All in all though, who cares about what they are called? The more important question is how easy they are to set up and maintain.

Tacton calls it constraints. If you look up the word constraint, it's a limitation or restriction - which is actually a good way to think about it. Without constraints all combinations of all items in the product can be combined in any way the customer wants. With a constraint, you limit the way you can combine the product.

So if you have 100 rims and 100 tyres, and you want to describe the valid combinations of these - how do you do?

In Tacton, you try to figure out the natural law, of why they work together. So, why does a tyre work with a rim? Well, they obviously have to fit. So the width of the rim needs to match the width of the tyre. In Tacton language:

rim.width=tyre.width

And that's it. It's a natural law. It's true today, and it's true tomorrow. Most likely it's true in 10 years (if we haven't come to flying cars by then...). I want to point out, that usually, there's a number of constraints working together, so there's going to be constraints about diameters, materials, tyre patterns etc. But let's stick to one constraint for now.

So now you may be thinking, is there any other way? This seems to be the smartest way?

Yes, this is the smartest way - but there are many more ways you can do this. You can write relations, e.g.

tyre A works with rim A, B and D
tyre B works with rim C
tyre C works with rim D and E

This works. And sometimes this is the only way to describe the product (typically where things have to be tested to ensure it works). But this way stinks in general, because is the first relation true tomorrow? Maybe, maybe not. Who knows? So it becomes a very cumbersome way to describe things. Also, this is an easy way to get to 10,000 rules or more.

So, in summary. Ignore what the product description method is called. But do make sure it's easy to set up and maintain over time!
Powered by Blogger.

Get In Touch

Lyckan 7, 753 24 Uppsala, Sweden
+46 736 614 953
info@cpq.se

Contact Form

Names

Email

Message

© cpq.se. All Rights Reserved