Research from the Parikalp team

Find existing CAD parts by their 3D shape.

Engineers keep redrawing CAD parts that already exist because text search depends on inconsistent tagging. This retrieval method compares the 3D geometry itself. It needs no training data and no GPU, and it explains every match.

Precision at 5
91.50%
Precision at 10
83.25%
Query time
<1 ms
Hardware needed
CPU

Why we built it.

Industrial repositories hold millions of 3D models. Deep-learning search could help, but it needs expensive GPUs, lots of labeled data, and it can't tell you why it matched.

The problem

Engineers constantly recreate existing parts because metadata search relies on inconsistent human tagging. The part they need is in the vault; they just can't find it.

The approach

A training-free, CPU-only method that searches by physical shape and volume, so teams can reuse designs without the cost of running neural networks.

Every match is explained

Each match score breaks down into the contribution of every shape descriptor, so an engineer can see exactly why two parts were judged similar before trusting the result.

Tested on 600 CAD models

Across 15 component classes, the method reaches 91.50% precision at 5 and 83.25% precision at 10, with sub-millisecond queries on a standard CPU.

How it works, step by step.

Every model in the repository goes through the same four steps once. A query goes through the same steps, then is compared against the index. Every step is deterministic: the same mesh always produces the same descriptor.

  1. 1

    Normalize and align

    Each mesh is moved to the origin, scaled so its largest dimension is one, and oriented with principal component analysis so every model shares a coordinate frame.

  2. 2

    Slice into density maps

    The aligned model is cut 100 times along each of X, Y and Z. The cross-sections stack into 2D density maps that capture internal volume, not just the outline.

    128 × 128 px per map
  3. 3

    Describe the shape

    Oriented-gradient histograms encode fine edges from the maps. Two statistical descriptors add how mass spreads from the centroid and how compact the surface is overall.

  4. 4

    Compress and index

    The descriptors are standardized and fused into a 5,420-dimension vector, then compressed to 86 components that keep 95% of the variance, and indexed for instant lookup.

    FAISS inner-product index

Results

Each descriptor was tested on its own, in pairs, and all three together. The density-map descriptor (HOG) is the strongest single signal; adding the two statistical descriptors (D1, radial distance from the centroid, and D2, distance between surface points) closes most of the remaining gap.

Retrieval precision by descriptor configuration, 600 CAD models, 15 classes
DescriptorsPrecision at 5Precision at 10
Density-map edges (HOG)71.00% ± 2.6661.60% ± 3.96
Radial distance (D1)58.20% ± 4.7756.40% ± 2.63
Point-pair distance (D2)63.50% ± 4.9056.55% ± 4.77
HOG + D176.90% ± 3.4672.05% ± 2.90
HOG + D281.50% ± 3.2776.85% ± 3.54
HOG + D1 + D2 (proposed)91.50% ± 3.4983.25% ± 3.07

The fused descriptor is 10 points ahead of the best pair. The two statistical descriptors add only 128 dimensions to HOG's 5,292, yet lift precision at 5 by 20.5 points. Values after ± are standard deviations over five repeated sampling runs.

What the experiments show

Three slicing directions is the sweet spot. Slicing along a single axis reaches 62.30% precision at 5; three orthogonal axes reach 91.50%. More directions keep helping (93.60% at six, 98.00% at twelve), but cost climbs much faster: per-model processing goes from 0.097 s at three directions to 1.930 s at ten, because extra views need re-projection outside the aligned frame.

Heavier texture descriptors trade speed for precision. Adding Gabor filters or Local Binary Patterns to HOG raises precision at 5 to 93.60% and 96.60%. They also grow the descriptor to 7,580 and 8,252 dimensions and slow extraction from 25 ms to 58 ms and 71 ms per model, and they repeat the same local-edge signal rather than adding a new kind of information. HOG + D1 + D2 stays the default because it is the most compact, the fastest, and the easiest to explain.

It tolerates messy meshes. Up to 5% relative Gaussian noise and a 75% reduction in triangle count cost less than 5 points of precision, which matters for real repositories full of exported and decimated files.

It's fast on ordinary hardware. Indexing takes about one second per model on a desktop CPU (Intel Core i9-12900K, 64 GB RAM, no GPU). A query against the 600-model index takes under a millisecond, and the full evaluation, 600 queries repeated five times, finishes in under fifteen minutes.

Every match comes with its reasons

The similarity score between two parts splits into the share contributed by each descriptor, so an engineer can see why a match was made. The pattern is consistent across the dataset:

  • Complex parts such as flanged block bearings and chain drives: the density-map edges (HOG) contribute 55–70% of the score.
  • Rotational parts such as bushes and pins: point-pair distance (D2) contributes 30–45%, reflecting elongation and compactness.
  • Flat parts such as washers and clamps: radial distance (D1) contributes 25–35%.

The same breakdown helps diagnose a bad match: if two parts matched mostly on overall proportions and barely on local features, the engineer can see that before reusing the wrong part.

Dataset and evaluation

The evaluation set has 600 triangle-mesh models in 15 classes of 40 each, sourced from public CAD repositories (GrabCAD Community and Thingiverse) and checked for closed, manifold meshes: bushes, cap nuts, castle nuts, castors, chain drives, chairs, clamps, collars, conventional rivets, convex washers, cylindrical pins, elbow fittings, eye screws, flanged block bearings and hexagonal nuts. Mesh sizes range from a few thousand to over 100,000 triangles.

Each model is used in turn as a query against the rest (leave-one-out). A result counts as relevant if it belongs to the same class as the query. Because each class has 40 models, a query has at most 39 relevant matches, which caps precision at 10 at 97.5%.

Limitations

  • Mesh input. The method works on triangle meshes. Native B-Rep and STEP input is planned, not done.
  • No explicit topology. Holes and genus aren't encoded, so highly periodic lattices with similar density but different topology get confused. In a separate test, a Fischer-Koch S lattice matched a Gyroid, and an I-WP lattice matched a Diamond.
  • Resolution floor. One pixel of a 128 × 128 map spans 1/128 of the part's largest dimension (about 7.8 mm on a 1 m part), and features need two to three pixels to register reliably. This is a derived bound, not yet tested with a dedicated feature-size sweep.
  • Symmetric parts. Principal-axis alignment can be ambiguous for rotationally symmetric objects.
  • Scale. The index uses exact search, which is fine at this size. Millions of models would call for approximate nearest-neighbor indexing.

What's next

Parikalp built this method with K. Venkata Gowtham Royal and continues to develop it. Next steps include STEP and B-Rep input, topology-aware descriptors for lattice structures, adaptive slicing that spends more slices where geometry is complex, approximate indexing for repositories with millions of parts, and assembly-level similarity.

Shape search is one part of what Parikalp does. The product connects to your drives, CAD vaults and PLM exports and lets engineers ask why a part is the way it is, with every answer sourced. Read the guide to engineering knowledge management or why PLM search misses existing parts.

About the paper

K. Venkata Gowtham Royal and Sajan Kapil, “An Explainable Training-Free CAD Retrieval Framework Using Multi-View Density Occupancy Representation and Multi-Modal Shape Descriptors.” Department of Mechanical Engineering, IIT Guwahati. Manuscript, 2026.

The paper hasn't been published yet. This page summarizes its method and results; we'll link the published version when it's available.

Want shape search on your own parts library?

This research comes from the team building Parikalp, the AI knowledge layer that lets engineers ask their CAD files, simulation reports and design reviews questions in plain English. Request early access, or write to the engineering team directly about running this method on your own infrastructure.