Technical Overview

Home » Technical Overview

The goal of advanced geometric algorithms is to handle core operations robustly and accurately.

In computer-aided-design (CAD), this means to store and manipulate surfaces within a high tolerance. The goal is to provide gap-free and efficient representations without using redundant elements, and efficiently execute standard geometric operations such as surface trimming, healing, compression, repair, and the core Boolean operations of union, addition, and subtraction.

In computer-aided machining (CAM), this means to create clean, robust, and accurate toolpaths for reliable, efficient and rapid machining, to automatically determine cut/uncut regions for finishing, as well as detect features for particular operations, and provide efficient work-in-progress and verification models.

Many packages fail when the surfaces and shapes become complex. In CAD, this can result in inefficient representations and corrupt surfaces. In CAM, this can result in toolpaths that are broken, gouge the material, or miss small but crucial details. The requirement of strict tolerances adds additional complications.

  Interfacial Technologies

Interfacial has built a core technology to address these issues. The cornerstones are several proprietary algorithmic advances:

  • Geometrical Libraries: The development of geometrical libraries to handle local, topologically complex events. These include surface trimming, healing, compression, and determination of interconnectivities and multiple junctions.
  • Boolean Operations: The ability to perform exact Boolean operations, including union, intersection, and subtraction of arbitrary surfaces.
  • Watertight Offsets: The ability to generate exact watertight offsets of surfaces, starting with either NURBS or triangulated surfaces representations. These can be generated using offsets of arbitrary shape, both convex and non-convex. Internal offseting correctly produces internal voids and structures.
  • Exact On-Surface Navigation: The ability to exactly project an off-surface curve to its closest on-surface representation, as well as the ability to perform on-surface navigation to determine closest points and geodesics.

  Advantages to this approach

These four technologies, in tandem, can be used to robustly solve a host of outstanding CAD and CAM problems. These include:

  • Surface Conversion, Repair, and Compression: Using these geometrical libraries, conversion from NURBS into triangulated data is clean and reliable, including input from IGES and Parasolid. The modules provide automatic detection of corrupt or faulty input files, with suggested corrections. The modules can clean up surfaces, including stitching together gaps within a user-specified tolerance as well as compress unnecessarily large files.
  • Surface Trimming and Sculpting: Given a surface/body and off-surface trim curves, the geometrical libraries can find the closest on-surface curves, and then produce an on-surface body-fitted mesh: this provides the ability to sculpt surfaces and resolve a host of issues that arise when inconsistent inputs from multiple CAD packages.
  • Surface Operations and Measurement: The Boolean operations provide the ability to combine complex shapes in order to build moulds, as well as carve figures and apply imprints. In addition, the geometric libraries provide surface measurements on intricate surfaces, including shortest paths between pairs of points and on-surface ruling and mesh generation.
  • Toolpaths for Machining: Because the offset surfaces are clean and watertight, fast generation of guaranteed gouge-free toolpaths is straightforward, and include zcuts, planecuts, radial and spiral cuts, and constant stepover.
  • Uncut/Leftover and Automatic Finishing: For a given tool shape, orientation and tolerance, the Boolean libraries allow exact reclassification and tesselation of the base input surface into machinable and non-machinable regions. This is a fully three-dimensional re-triangulation of the base into reachable and non-reachable regions, allowing automatic finishing paths on restricted regions.

  Accuracy, Robustness, and Efficiency

InterfacialTM modules are designed to produce highly accurate, robust solutions efficiently:

  • Accuracy: All outputs are guaranteed to fall within a strict, user-defined tolerance. For example, for machinable surfaces of size 10000 mm, Interfacial modules provide toolpaths, gouge checking, and offset surfaces with an accuracy of .000001. Higher accuracy modules are also available.
  • Robustness: Rather than work top-down through a series of ad-hoc decisions, Interfacial modules correctly analyze local surface interactions. This means that the modules are guaranteed to finish with the correct, checkable and verifiable solution.
  • Efficiency: Interfacial data structures are built to handle large, complex input surfaces efficiently, using some proprietary pruning/elimination techniques. For example, on a standard single processor 2 GHz Pentium IV:
    • Perform Boolean Operations:
      • To subtract a 50,898 triangle surface from a 76,0044 triangle surface, with over 20,064 intersecting triangles, 35 seconds.
    • Build Zcuts:
      [Base Surface 175,000 triangles (22cm by 16cm by 3cm)]
      • .5 radius ball tool, tolerance of .01, zcut interval=.05: generates 600 zcuts, 16 seconds
      • .15 radius ball tool, tolerance of .001, zcut interval=.05: generates 600 zcuts, 28 seconds
    • Build Clean Offset:
      [Base Surface 175,000 triangles (22cm by 16cm by 3cm)]
      • .5 radius ball tool, tolerance of .01: generates 231,442 triangles, 105 seconds
      • .15 radius ball tool, tolerance of .001: generates 600,470 triangles, 193 seconds

  Versatility and Portability

InterfacialTM modules are designed for maximum versatility and portability. They are written as DLLs, callable through multiple platforms and environments. The suite of modules include:

  • Automatic Buffering: The modules provide automatic buffering for very large data sets. Minimum memory requirement is less than 100K RAM.
  • Integrability: Interfacial modules are written as DLLs, callable through multiple platforms and environments. They have compact, black-box calling sequences, and act as low-level engines designed to be quickly put in place.

  Reliability

InterfacialTM modules are in daily use by tens of thousands of customers.