feat: implement G32/G33 routed circle canned cycles#305
Open
rampageservices wants to merge 1 commit intogerbv:developfrom
Open
feat: implement G32/G33 routed circle canned cycles#305rampageservices wants to merge 1 commit intogerbv:developfrom
rampageservices wants to merge 1 commit intogerbv:developfrom
Conversation
Add support for Excellon G32 (CW routed circle) and G33 (CCW routed circle) canned cycle commands. The tool position is on the circle and the X/Y parameters specify the center. Radius is implicit from the distance between the two points. - Add drill_add_circle_segment() for creating full 360-degree arc nets - Parse center coordinates after G32/G33 and dispatch to circle handler - Add G32/G33 stats counters to gerbv_drill_stats_t - Display G32/G33 in the drill statistics UI - Add regression test with CW and CCW circles
7 tasks
This was referenced Mar 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
drill_add_circle_segment()that creates full 360° arc nets withcirsegdata, reusing gerbv's existing arc rendering infrastructureCloses partially: #297 (G32/G33 items)
Details
G32/G33 route a full circle where the current tool position is on the circle and the X/Y parameters specify the center. Radius is implicit from
distance(tool_position, center).The implementation:
start == stop,angle2 = angle1 ± 360°Test plan
cmake --build build— clean build, zero warnings./build/src/gerbv test/inputs/test-drill-routed-circle.exc— visual: two circles side by sidectest— all drill tests pass (new + existing)