
AI for Parts & BOM Management
Geometric search finds CAD parts by shape, not file name. See a worked D2 shape-descriptor example and six tests to run on your own PDM vault.
·
⏱
5 min read

Michelle Ben-David
Michelle Ben-David is a mechanical engineer and Technion graduate. She served in an IDF elite technology and intelligence unit, where she developed multidisciplinary systems integrating mechanics, electronics, and advanced algorithms. Her engineering background spans robotics, medical devices, and automotive systems.

BOTTOM LINE
Geometric search finds a part by comparing numeric signatures of 3D shape, so parts with empty descriptions and meaningless file names still come back. Pick the scale setting your reuse policy needs, and test near twins, unique parts and rotated copies from your own vault. A shape match gives a shortlist, and material and status decide which part is usable.
Geometric search finds a CAD part by comparing a numeric signature of its 3D shape with the signatures of every other model in the vault, so a part with an empty description and a meaningless file name still comes back. You show the system what the part looks like instead of guessing what someone called it.
If your team stores parts in SolidWorks PDM, Windchill, Teamcenter or Vault and searches them by file name or part number, a bracket saved as brkt_mtg_r3 with no description is invisible to a query for "mounting bracket". The two strings share no word, so a text match cannot connect them.
Metadata search misses parts that nobody described
A PDM search box matches text: file names, part numbers, descriptions and custom properties. A person typed all four, and none of them is the part itself.
3D models often carry nothing else. Osada et al. describe models that have "only geometric and appearance information, usually completely devoid of structure or semantic information". A migration can produce the same state: when a custom property has no column in the new schema, the geometry converts and the property is gone.
Each missed match becomes a new model, a new drawing and a new purchasing record for a part that already exists. Why PDM search fails engineers covers the search side, and the cost of duplicate parts covers the bill.
IN PRACTICE
The geometry search has been invaluable, helping me find standard parts instead of designing new ones, saving a huge amount of time and effort. The search system is smart and CAD-aware.
- eytan s., R&D Engineer
Finding a similar part by text takes four lookups, each with a gap
Without shape search, an engineer who needs a part that may already exist works through four lookups in order.
Search the part number or file name. This works only when you already know the identifier.
Search keywords in descriptions and custom properties. This works only when someone filled them in.
Browse the classification tree or the folder of the last similar project. This works only when the tree matches how you think of the part.
Ask a colleague who remembers the project. This works until that colleague is out of the office.
Shape search adds a fifth lookup that needs none of those. You give it a model, either the part in your open assembly or an uploaded file, and it returns the nearest neighbours by shape. Engineering part reuse covers where that answer gets used.
A worked example: five parts through the D2 shape descriptor
The D2 shape distribution is the simplest descriptor to compute: pick random pairs of points on a part's surface, measure each distance, and store the histogram. Osada et al. show that D2 is invariant to rigid motion and mirror imaging, and that scale invariance is added by normalizing the distributions before comparing them.
The example uses idealized solids with no holes or fillets. The query is an 80 x 40 x 5 mm plate. Each part got 100,000 surface points and 400,000 random pairs, binned into 40 histogram bins. Parts are compared by L1 distance between histograms, where 0 means identical and 2 means no overlap. Mean normalization divides every distance by the part's mean distance. The numbers were computed with numpy on 2026-11-04.
Candidate part | L1 distance, raw | L1 distance, mean-normalized |
|---|---|---|
Same plate, rotated 37 degrees and moved | 0.008 | 0.011 |
Same plate scaled 1.5x (120 x 60 x 7.5 mm) | 0.560 | 0.007 |
Plate 80 x 40 x 8 mm (3 mm thicker) | 0.056 | 0.033 |
Round flange, D60 x 10 mm | 0.249 | 0.197 |
Two samples of the query plate with different random seeds differ by 0.008, so differences below about 0.01 are noise. Three results matter for a reuse decision.
Rotation and position do not change the signature. Both distances for the rotated plate sit at the noise floor.
Scale is a policy choice. The raw distance puts the 1.5x copy far away (0.560), and normalization treats it as the same shape (0.007). Choose raw for interchangeable parts and normalized for size families.
A 3 mm thickness change moves the distance only to 0.033, about one sixth of the flange's 0.197. A descriptor shortlists candidates, and dimensions, features and material then pick the usable one.
Six checks to run on your own vault in one week
Run these on your own files. A demo on a curated example tells you little. The thresholds below are starting points for your team to adjust.
Near twins: pick 5 parts that an engineer knows have a twin. Pass: for at least 4 of the 5, the twin is among the first 5 hits.
Unique parts: query 5 parts known to be unique. Pass: the tool shows weak scores or few results instead of ten confident ones.
Pose: translate, rotate and mirror one model, then re-run each version. Pass: the original ranks first in all 4 runs.
Scale: query with a copy scaled by 2. Pass: the result matches your reuse policy, and you can switch the behavior.
Blind to metadata: pick 10 parts with empty descriptions and meaningless names. Pass: shape search returns the known twin for at least 8 of them, where text search returned none.
Filters and freshness: filter results by material and lifecycle status, then release a new part and time how long it takes to become findable. Pass: filters apply after ranking, and new parts appear within your release cycle.
Safety-critical reuse still needs a licensed engineer to approve interchangeability. AI for PDM and PLM integration lists what to ask about vault access before test 6.
Leo runs the same search across your PLM and PDM data
Leo applies this idea to your own library. Leo builds a signature for each part from its geometry and metadata, as Leo's FAQ describes. An engineer can then start from a description, an uploaded part, an installation space or the open model.
In the example above, you would give Leo the 80 x 40 x 5 mm plate you are about to model. Leo looks through what your team already owns before it looks at vendor catalog parts, and returns the existing parts it finds.
Leo integrates with PTC Windchill, Siemens Teamcenter, SolidWorks PDM and Autodesk Vault. It reads and indexes the latest version of your files without checking them in or out, and your admin picks which folders, projects or teams are in scope. Data handling is on the security page.
One limit: how deep the integration goes differs per tool, so check your exact version with Leo's team before planning a rollout. Leo tells you which parts look alike, and material, standard and lifecycle status still decide which one you can use. The part photo identification post covers the same search when you start from a photo.
FAQ
Shape Distributions (Osada, Funkhouser, Chazelle, Dobkin), ACM Transactions on Graphics 21(4), Princeton University, accessed 2026-11-04
Leo AI FAQ, Leo AI, accessed 2026-11-04
Try shape search on your own parts
Upload one of your parts and see which existing parts Leo finds
Ask an applications engineer how Leo indexes your PDM or PLM vault, then run the near-twin and unique-part checks from this post on your own CAD files.
#1 New AI Software Globally - G2 2026
Enterprise-grade security
Trusted by world-class engineering teams


