levylabpitt / AFM-Lithography

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

Update Tooling #101

Open Monkeymerlot opened 8 months ago

Monkeymerlot commented 8 months ago

The tooling part of the program is essentially the last major part of the program that has not been updated yet.

The idea is to take the new class based parsing data and property data and use those as an input for a tooling class. The general flow of tooling seems to be the following:

  1. Change inkscape commands into a set of points

    • Paths seem to combine all of the commands and apply interpolation (which isn't super consistent, see issue #69 ).
    • Funnels do some logic to determine what the bottom is and then apply interpolation to the smooth side segments, and determine the amount of times it sweeps from the apex back to the bottom.
    • Rectangles determine the amount of points on each side and then do some logic so you go from side to side. Also determines fill direction (ie horizontal or vertical raster scanning motion)
  2. Add a name to the object

  3. Apply voltage, interpolation (just paths at this point), and whether or not an object is enabled.

    • Paths add individual interpolation here, whereas funnels and rectangles do not.
  4. Select the direction.

This should be straightforwards to implement if it is done correctly. Another resource is the oldinterfaceglue.vi, which is a conversion between the old software interface and the newer, object oriented software interface.

Additionally, a lightweight function will be needed to determine if a path is actually a path or a funnel. (funnels are subsets of paths technically speaking, ie they are filled, their first and last point are the same, and they have one flat side with two curved sides).

Monkeymerlot commented 8 months ago

On hold until #100 is completed.