How to optimize your shape search

By Erwin Argyle

This article discusses the controls available to focus Geolus Shape Search on the parts you want to find.

I recently worked with a customer whose Geolus Shape Search implementation was not always producing the expected results. Sometimes Geolus would return too few parts. Sometimes it would return too many parts. Through a combination of search parameters and configuration adjustments we ended up with a Geolus Shape Search that met their needs. This article discusses the issues and the solutions.

Issue: Too few parts

This customer found that sometimes Geolus does not find identical parts from different CAD systems.

Geolus does not use CAD native formats; it uses the facets from neutral files like JT, VRML or STL. Tessellated data from different CAD systems is unlikely to be truly identical for “identical” CAD parts. This issue is solved by changing the criteria Geolus uses to consider parts identical.

The Geolus definitions of similarity are captured in profiles. There are profiles for determining if shapes are “identical”, “very similar” or “similar”. Configuring the Geolus Server includes selecting which profile is used by Geolus for each category. There is an “identical” profile that requires tessellations to be precisely the same for them to be considered identical. There is another “identical” profile that has a slightly more relaxed definition. At Geolus 10.x and earlier versions, if the customer does not make a choice, the precise identical profile is selected. Starting at Geolus 11, if no choice is made, the more relaxed identical profile is selected. My customer was using Geolus 10.2 and not ready to move to Geolus 11 and so we changed the profile in the version they were using. This was quite straight forward, using the Geolus Server configuration utility. We used the drop-down menu to change “Similarity profile 1” from Y to Z and then restarted the Geolus server.

Configuring the Geolus Server

This solved the “identical” situations where the number of parts found was fewer than expected.

Issue: Too many parts

Then they contacted me again. There were over 1 million parts in the Geolus database. Searches for similar parts were often returning more parts than users were prepared to process. Since the best matches are returned first there is very little value in returning many parts.

Geolus offers two geometric similarity controls, shape and size. The shape similarity control is a number from 1 to 10 where 1 means identical. It is often presented as a slider. The higher the number the more parts are returned. If your client supports it, I recommend setting the default shape similarity control to a low value. You can always increase it to return more parts if needed. The other geometric control is size. The values are upper and lower bounds around the seed part. If you have many parts I recommend setting a narrow range such as 97% to 103%, or 97% to 100% if you are looking for parts that are the same size or slightly smaller. If your database is small, search might require a more generous size range to return results.

One more way to focus the results is to apply metadata filters. The screenshot shows some shape search results in Active Workspace. The results are filtered to show only parts that are owned by user Pat and that were modified between 15-May-2018 and 20-Jan-2021. Almost any attribute displayed in Active Workspace can be a filter. It is a very powerful way to present users with results well-qualified for the purpose of the search.

Shape and metadata combined as search criteria.

Next Time

In this article we touched on how Geolus captures definitions of shape similarity in profiles and we swapped the identity profiles “Y” and “Z”. In my next article we will look at profiles further and learn how to select the “very similar” and “similar” ones that best match your data.

For more information on Geolus Shape Search, please visit, or read other Shape Search articles.

Leave a Reply

This article first appeared on the Siemens Digital Industries Software blog at