levylabpitt / AFM-Lithography

BSD 3-Clause "New" or "Revised" License
7 stars 0 forks source link

Funnel Tooling Leaves Out One of the Boundary Curves #63

Closed Monkeymerlot closed 3 years ago

Monkeymerlot commented 3 years ago

I have been going through funnels to commands.vi, which is where the funnels are turned from SVG objects to a set of points for lithography. I finally sat down and went through the part of the code that actually calculates the path for the funnels. image

And after some neatening and documentation, I managed to figure out what was going on and go through it by hand, when I realized that the program will leave out one of the boundary curves. Here is he neatened block diagram for that segment of code (with some additional testing added at the end): image

Without writing the boundary segments atop the tooled funnel segments: image

However when I write the boundary segments atop the tooled funnel segments: image

Monkeymerlot commented 3 years ago

Math that I did by hand to check (X coordinates of arbitrary boundary curves chosen for convenience.) Please note that the final values should be equal to the equation (C1X/N)*I+(C2X/N)*(N-I) (as evident from the screenshots of the cleaned up block diagram above).

Let C1X = 3, 6, 9
Let C2X = 15, 12, 9
N = 3, --> I = 0, 1, 2
Then 
C1X/N = 1, 2, 3
C2X/N = 5, 4, 3

For i = 0:
C1X/N*I = 0, 0, 0
C2X/N*(N-I) = 15, 12, 9
(C1X/N)*I+(C2X/N)*(N-I) = 15, 12, 9
Resulting curve for i = 0 is equal to C2X

For i = 1:
C1X/N*I = 1, 2, 3
C2X/N*(N-I) = 10, 8, 6
(C1X/N)*I+(C2X/N)*(N-I) = 11, 10, 9

For i = 2 (final in loop):
C1X/N*I = 2, 4, 6
C2X/N*(N-I) = 5, 4, 3
(C1X/N)*I+(C2X/N)*(N-I) = 7, 8, 9

So this is missing the part that equals C1X Boundary
Monkeymerlot commented 3 years ago

Potential Fix: image

Monkeymerlot commented 3 years ago

This is also probably the root cause of #43