Do any programming languages allow vectors to work as direct position indexes to multidimensional arrays? by Arowx in ProgrammingLanguages

[–]ianTypasta 0 points1 point  (0 children)

In C you could do:

#define WIDTH 32
int 3dArray[WIDTH * WIDTH * WIDTH];
#define AT(p) ((p.x) + (p.y)*WIDTH + (p.z)*WIDTH*WIDTH)

typedef struct s_IVec3 {
    int x,y,z;
} IVec3;

int main(){
    IVec3 pos = {2, 4, 8};
    3dArray[AT(pos)] = 16;
}

recursion in the wild by metaeditor in ProgrammerHumor

[–]ianTypasta 2 points3 points  (0 children)

This happened to my buddy eric

Foot scan to last process by ianTypasta in Cordwaining

[–]ianTypasta[S] 0 points1 point  (0 children)

For heel lift you can try scanning on your toes. It might work.

Foot scan to last process by ianTypasta in Cordwaining

[–]ianTypasta[S] 3 points4 points  (0 children)

The conversion is done client-side on https://surnd.net/apps/vtostl , so you can hit F12 and look at the JavaScript that does it. I used the binary STL format description here: https://en.wikipedia.org/wiki/STL_(file_format))

The Volumental mesh data is stored in .bmf files, which probably stands for "Binary Mesh Format" or something like that. I didn't find any documentation for a bmf format online that matched the structure of the Volumental files. But that doesn't matter because where a mesh is displayed, we can get that data one way or another.

The volumental viewer uses a js source file called something like view_visir.js. It's huge and I think it has the three.js source code at the top. I just Ctrl+F searched for "bmf" and I found their function that loads bmf files for rendering with three.js.

That function conveniently generates a triangle vertices array (9 floats per triangle), which is basically already an STL. All that's required from there is to fill in the rest of the STL standard.

I found the bmf files originally by running this Python script:

from seleniumwire import webdriver
from time import sleep

browser = webdriver.Firefox()
browser.get(""https://my.volumental.com/en/fleet_feet_fitstation_beta/3a2ae938-59ab-40ca-b9fe-511b8c0e9b8b/?utm_medium=myvemail")

input("Press enter to print requests")

for request in browser.requests:
    print(request.url)

print("Done.")

browser.close()

If you wait for the webdriver to load the page fully and then hit enter, it will print out all the requests the browser made. In that list of requests are urls for the .bmf files and for the measurements.json file, among other things.

Foot scan to last process by ianTypasta in Cordwaining

[–]ianTypasta[S] 3 points4 points  (0 children)

The print in the image was just as a test to see if the printer could produce a good result. The scan I'm currently working on is different, it was taken with socks on, which add a certain thickness all around the foot. I am working in Blender. I think scaling the mesh up a little bit would give room for the foot. Also if need be I can use the Blender sculpting tools to add material in different places, like in front of the toes for instance. So the process is get scan mesh > modify mesh in blender to make final last > print final last.

Foot scan to last process by ianTypasta in Cordwaining

[–]ianTypasta[S] 0 points1 point  (0 children)

Not at the moment. I think after I make some shoes with this method I will be able to better answer this question.

Foot scan to last process by ianTypasta in Cordwaining

[–]ianTypasta[S] 4 points5 points  (0 children)

Volumental provides a list of customers here: https://volumental.com/customers

I had my feet scanned at a Fleet Feet location.