Skip to content

Interactive 3D: How Do We Get There?

← Back to blog | ADMIN | 10-09-2013

As a developer for 3D ACIS Modeler, I spend a lot of time thinking about how to make 3D ACIS Modeler faster and, at the same time, more correct.

Hexagon pattern 1

Basically, there are two priorities when using a software component, particularly a 3D modeling kernel:

  • Does it do what you want/need it to?
  • Is it always fast enough to be practical?Brain_Things

As a developer for 3D ACIS Modeler, I spend a lot of time thinking about how to make 3D ACIS Modeler faster and, at the same time, more correct.  Conventional wisdom often laughs at people who try to compromise correctness for speed: if there is a mathematically right answer, that’s always what you should get. 

On the other hand, there is a point where if an operation is too slow it is useless.  For example, a faceting algorithm that took 2 hours to facet a sphere would be pretty much useless.  Interactive applications push this idea even further.  If you want to call an API every time the end user drags their mouse on the screen, the API speed limits your frame rate.  To achieve 10 fps, you need the API to take less time that .1 sec.  With the computer power that is available today, there are some amazing things CAD applications can do (e.g., the pull operation in SpaceClaim Corporation).  ACIS is driven by our customers.  This blog was prompted by a project Matthias and I are doing in R25 to make entity-entity distance interactive.

So how can we make 3d more interactive?  I have a couple of ideas, but I’d love to hear yours as well:

  • The basic algorithms  need to be optimal
  • Nothing O(n-squared) or worse unless it is impossible to avoid it.
  • Is there any costly work being done repeatedly?
  • Ask the right questions.
  • If you can get by with less work per mouse move, do.
  • Pre-compute/memorize if possible.
  • Multithread whatever slows you down.
  • Avoid static and global variables whenever possible.
  • Take advantage of Thread-safe ACIS.
  • Optimize greedily
  • Profile to find what the bottlenecks are, and focus attention there
  • Program lazily
  • The more an operation costs, the more can be gained by doing it opportunistically, instead of doing it all the time.

You might also like...

5 Min read
3D Modeling
What is digital manufacturing? Here’s a simple digital manufacturing definition: the process of using computer systems...
5 Min read
3D Modeling
Software components are like the stage crew at a big concert performance: the audience doesn’t see them, but their...
Application Lifecycle Management Flow
4 Min read
3D Modeling
When you hear the term, Application Lifecycle Management (ALM), you likely think about the process that a software...
8 Min read
3D Modeling
What is Computer Aided Manufacturing The CAM Market Who Uses CAM Software? Trends in CAM What do CAM Software...
9 Min read
3D Modeling
SLS in Additive Manufacturing is used to convert 3D CAD designs into physical parts, in a matter of hours.
8 Min read
3D Modeling
There’s a lot of confusion around what the terms additive manufacturing and 3D printing mean.
4 Min read
3D Modeling
Additive manufacturing, often referred to as 3D printing, is a computer-controlled process for creating 3D objects.
5 Min read
3D Modeling
Take a fresh, new sheet of paper, and fold it in half, like you’re making a paper airplane. Place the folded paper on...
6 Min read
3D Modeling
Table of Contents Simulation in CAD Who Uses Simulation Modeling? Key Benefits of Simulation Modeling Challenges in...
8 Min read
3D Modeling
What do you do? What Exactly is FEM? What You Need to Know About Choosing a FEM Modeler FEM and Partial Differential...
5 Min read
3D Modeling
Computational Fluid Dynamics (CFD) is a type of analysis that provides insight into solving complex problems, and...
2 Min read
3D Modeling
WRL files are an extension of the Virtual Reality Modeling Language (VRML) format . VRML file types enable browser...
Voxel model example
3 Min read
3D Modeling
Voxels are to 3D what pixels are to 2D. Firstly -- let’s examine what pixels actually are. Everything you see on your...
Point_cloud_torus
2 Min read
3D Modeling
Point-cloud modeling is typically used in the process of 3D scanning objects. Rather than defining surfaces through...
Polygonal Modeling
2 Min read
3D Modeling
Polygonal (or polyhedral) modeling is the most common type of modeling for video games and animation studios. This type...
aerodynamics-CFD
9 Min read
3D Modeling
Computational fluid dynamics (CFD) is a science that uses data structures to solve issues of fluid flow -- like...
BREP Model example
2 Min read
3D Modeling
BRep modeling, or Boundary Representation modeling, is, in CAD applications, the most common type of modeling. BRep is...
Feature Recognition Zoomed
5 Min read
3D Modeling
IN THIS ARTICLE: What is FEA (Finite Element Analysis) Principles of Finite Element Analysis and Simulation Software A...