levylabpitt / AFM-Lithography

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

Path Deviation #100

Open Monkeymerlot opened 10 months ago

Monkeymerlot commented 10 months ago

The goal of this enhancement is to facilitate creating nanowires that deviate from a selected path in the x and y direction by a specified function. An mock-up of the goal is shown below, albeit with the deviation in only one of two dimensions.

image

To do this I believe the following will be needed:

  1. We must update the UI interface for path deviations. This should be similar in nature to the voltage schedule, which generates voltages based on either a user input function or a function generated by a function generator in LabVIEW (i.e., square waves).
  2. We may need to do some minor changes with events, but I am not sure of this at this time.
  3. Give this information to the tooling section of the program.
  4. Implement the deviation functionality of the program.

During this update I'll also probably add abstract classes for the tooling section of the program in the background (probably in a disabled case of a disabled diagram structure) since we are already working in that area.

Monkeymerlot commented 10 months ago

My suggested flow for the deviation part of the program would be the following: Calculate the x, y value for a point of the path. Calculate the line/vector perpendicular to the path at the point. Calculate the value of the deviation function at that point. Use the vector to break down the value of the deviation function into x, y values. Add the deviation values in x and y to the original location of the x, y point of the path.

Monkeymerlot commented 10 months ago

@Sayanwita @ciozi137 As of the latest commit on develop, this is ready for you to implement the deviation VI.