kcjengr / qtpyvcp

QtPyVCP - Qt and Python based Virtual Control Panel framework for LinuxCNC.
https://www.qtpyvcp.com
Other
88 stars 48 forks source link

WIP: Add conversational drilling GCode generator. #48

Closed adargel closed 4 years ago

adargel commented 4 years ago

The canned drilling cycles G81 (drill), G74 (left hand tap), G84 (right hand tap), G82 (dwell), G83 (peck), and G73 (chip-breaking), are all supported.

The tapping cycle is intended for tapping with a floating chuck and dwell at the bottom of the hole.

Tapping cycles will automatically set the z feed based on the given spindle RPM and thread pitch. If the spindle RPM is positive, a right hand tapping operation (G84) will be performed. If the spindle RPM is negative, a left hand tapping operation (G74) will be performed.

The bolt_hole_circle_xy method will add the x, y positions for a bolt hole circle. Starting at the given angle, it will calculate the x, y positions along a circle of a given diameter for the number of holes specified and add them to the list of hole locations.

adargel commented 4 years ago

This still needs the widget to be created, but I wanted to submit the PR to get some feedback on the generated gcode.

Here are some screen shots of the gcode from the example: tap-zview tap-pview

Here are the gcode files that were generated: spot.txt drill.txt chip_break.txt peck.txt tap.txt

adargel commented 4 years ago

Here are some screenshots of the circle hole pattern screen. Not sure if it is what was envisioned by the project owners, but figured I would throw it up anyway. Any feedback is appreciated.

drilling_circle_screen hole_circle_peck_drill drill_circle_tap drill_circle_dwell

KurtJacobson commented 4 years ago

@adargel I was playing with the generators this morning and showing them off in the our IRC channel. They are absolutely awesome! I think its very much in keeping with what @Lcvette (creator of ProbeBasic) would have envisioned.

Eventually it might make sense to break out the conversational widgets into a separate repo like qtpyvcp.computer-vision widgets, but for now it's fine.

Thanks for tackling this, not trivial.