TransWikia.com

Get average shape from 10k + files

Engineering Asked by Chris Holstein on June 4, 2021

We have a ton of ergonomic data in STL files. We would like to use that data to define a basic shape for our designs. So what i am looking for an algorithm or software solution that is able to scan the data and calculate an average shape. I have looked into generative design but that doesnt seem to be what im looking for.

Do you guys know of any way to tackle my problem?

Also, if this is the wrong place to be asking these questions, im very sorry! Could you point me the right way?

Bonus points:
It would be great if it shows which files are further away from the 50th percentile and which are further towards the 1st and 99th percentile.

2 Answers

You can superpose the black and white pixelated photos of your shapes assigning a grayscale value of $1/n * (1/255) ,$ per shape. you will get an image with a black core and shading to gray and feathering to white.

Many photo editing softwares allow you to define a border based on the gray intensity. In your case, it is 127-128.

If some parts of your objects are essential and need to be preserved you can set them to 0.

Edit

I remembered my airplane mechanic talking about ultrasound testing equipment to check for fatigue cracks.

here is a do it yourself ultrasound 3d scanner.

3d ultrasound scanner

Answered by kamran on June 4, 2021

hmm. here's a shot in the dark. might require relatively simple surface. this is crude, the are much more sophisticated ways. research metric or distance for 3D shapes.

(1) In a 3D modeling tool, fit a simplified (curvature never too small) convex dummy surface to a typical data surface. Shrink it maybe 50% in a 3D tool, so it is always "inside" the data surfaces. Adjust so it's still convex. Call this shrunken preliminary reference surface R.

(2) Generate list of n evenly spaced points on R, call them vectors A_n. Also generate corresponding vectors N_n normal to R at A_n, and pointing outward. So you have a list of reference "rays" in space originating at A_n, direction N_n. Call these B_n. (note: May be helpful to have more densely spaced points A_n where R has smaller radius of curvature.)

(3) For each of m data set items, call them surfaces S_m: generate vectors C_m,n , defined by the intersection of S_m and B_n. Depending on surfaces you may have to do something to make sure there is only one intersection (eg use the one nearest to A_n looking outward). This is where concave could be an issue. Anyway, you can then use the C_m,n to construct the metric, loosely speaking. The average (or trimmed mean or minimum or whatever) surface, consisting of points D_n can then be constructed from the list C_m,n by simply applying the statistic to the list of |C_m,n| indexed by each n ... you could likewise hopefully use it as a metric.

Answered by Pete W on June 4, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP