65 lines
2.4 KiB
Plaintext
65 lines
2.4 KiB
Plaintext
Heightmap probing:
|
|
1. define the grid:
|
|
DONE - from: x, y
|
|
DONE - to: x, y
|
|
DONE - step every: 5mm?
|
|
- clearance height: Z1.5
|
|
- start probing at: Z0.5
|
|
- max negative z: Z-0.5 (when to fail probing)
|
|
- z final safety height: Z15
|
|
|
|
DONE - from and to can be filled from current project bounding box
|
|
DONE 2. probing
|
|
DONE - machine moves at grid start position (x, y)
|
|
DONE G0X0Y0
|
|
DONE - gets down for initial probing
|
|
DONE G38.2 Z-65 F100
|
|
DONE - step back a bit (1mm, relative)
|
|
DONE G91 G0 Z1
|
|
DONE - seek again with lower feed rate
|
|
DONE G38.2 Z-5 F5
|
|
DONE - after first probe ever, this Z becomes reference 0
|
|
DONE G10 L20 P0 Z0
|
|
DONE - all subsequent probes will be relative to this
|
|
DONE - for each probing location:
|
|
DONE - G0 Z"clearance height"
|
|
DONE - G0 XxxYyyy (next point location)
|
|
DONE - G0 Z"start probing at"
|
|
DONE - G38.2 Z-5 F5
|
|
DONE - store Z offset and place it in the heightmap
|
|
|
|
3. modify loaded program with heightmap data
|
|
- foreach line in program
|
|
- if line contains a Z coordinate, update the Z according to the X and Y
|
|
- if line does not contain a Z coordinate, add a Z coordinate according to the X and Y
|
|
|
|
DONE -Let's get rid of the pesky inter-thread communication issue which is causing a lot of confusion.
|
|
DONE - Solve bug in which the probing data does not get rendered properly as it gets probed.
|
|
|
|
Bug: query coordinate systems after first z probe.
|
|
Refactor: see if we can unify machine state line handling and remove duplication
|
|
|
|
Edge finding
|
|
- prerequisites
|
|
- which edge to find? -X/+X/-Y/+Y
|
|
- bit diameter used
|
|
- put the
|
|
|
|
Corner finding
|
|
- which corner are we probing: up left, up right, bottom left, bottom right
|
|
- need to know the bit diameter
|
|
- use G38.2 to probe X edge and set that as current X - diam/2
|
|
|
|
Render arcs
|
|
Render quadratic splines
|
|
Render bezier splines
|
|
Synchronize executing program with render (show executed paths with different colors)
|
|
Add aggressive buffer execution policy and make it selectable.
|
|
Show a progress bar when executing programs.
|
|
Show a progress bar when probing.
|
|
|
|
DONE - Show program extents
|
|
|
|
DONE - Render program extents
|
|
DONE - show a bounding box for the program extents
|