HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
WillAdams
gcodepreview
TeX2022–2026
WillAdams / gcodepreview

gcodepreview

OpenPythonSCAD library for moving a tool in lines and arcs so as to model how a part would be cut using G-code or described as a DXF.

2Distinct people
96Mentions
0Explicit recommenders
86GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

OpenPythonSCAD library for moving a tool in lines and arcs so as to model how a part would be cut using G-code or described as a DXF.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

Is there a 'right amount' of AI? direct repository linkDebated

Participants debate whether AI-generated code constitutes meaningful creativity or merely derivative plagiarism, with some arguing it crowds out human artistry while others view it as a natural evolution of tool-assisted development. The discussion also highlights a sharp divide between those who see AI ethics as comparable to other industrial harms and those who emphasize its unique capacity to disrupt creative labor.

36 readable replies · Supporting reply 1 · Supporting reply 2 · Supporting reply 3 · Supporting reply 4
I will not be using LLMs in my coding direct repository linkDebated

The conversation debates the viability of LLMs in coding, contrasting arguments that they boost productivity with concerns about non-deterministic reliability and skill atrophy. Critics question the universal success claims of top programmers using AI, while others highlight the inherent unpredictability of LLM outputs as a fundamental flaw.

243 readable replies · Supporting reply 1 · Supporting reply 2

Mentions over time

HN mentions by year96 dated mentions

Observed mentions: 2022-08-04 14:51:26 UTC to 2026-10-26 10:41:34 UTC.

0102030402022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 40 mentions; 0 submissions, 40 comments20242025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 28 mentions; 0 submissions, 28 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 22 mentions; 0 submissions, 22 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC303
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC303
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC40040
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC28028
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC22022

What Hacker News says

96 sources
I'm a corporate shill these days, so it's mostly on our official file-sharing site: https://cutrocket.com/u/WillAdams (and mostly wood/bamboo) A bit stalled because I've been working on: https://github.com/WillAdams/gcodepreview Though I will note that I got into small-scale and inexpensive CNC because I couldn't figure out how to fit a Bridgeport that was being sold locally for less than scrap value in working condition into my basement. I've been debating getting a lathe or making a Gingery Lathe or going the 3D print route: https://www.printables.com/model/1048400-open-lathe-v1
In Tool book of a Nuremberg knight from 1505
There are more low-cost 3D printers than inexpensive CNC machines, so that's a given. That said, it's pretty easy to just output an STL from OpenSCAD, open it in a 3D CAM tool (Kiri:Moto is a free option, MeshCAM (ob. discl., I work for a distributor) paid) and get toolpaths. Folks have worked up various other approaches --- I've been using PythonSCAD to output a DXF which can then be used for making toolpaths: https://github.com/WillAdams/gcodepreview
In OpenSCAD the Programmers Solid 3D CAD Modeller
I found it helpful in thinking about code and the approach for my current project: https://github.com/WillAdams/gcodepreview In particular, it made it seem obvious to split up the documentation between: - Overview --- readme.md - Tutorials --- handled in various template files - How to Guides --- embedded in the Literate Program code - Reference --- the indices and Command Glossary
In Diátaxis
I really wish Literate Programming had caught on. The big problem is folks misunderstood it as documentation (arguably plain.tex should have also been the sourcecode for _The TeXbook_ and that it wasn't is a big part of this) --- it could be, but usually that's better as a separate text/chapter.... I've been trying to collect books on Literate Program/notable Literate Programs published as books: https://www.goodreads.com/review/list/21394355-william-adams... and I will note that my own programming took a quantum leap forward when I purchased and read: https://www.goodreads.com/book/show/39996759-a-philosophy-of... and applied its principles one chapter at a time to a project which I was able (w/ a bit of help) to get into Literate Programming form: https://github.com/WillAdams/gcodepreview/blob/main/literati...
In Write code like a human will maintain it
My pleasure! The Knapp joint is an interesting historical dead-end in woodworking joinery --- it's interesting to see it come back. I will work up a module like to: def Full_Blind_Box_Joint(self, bx, by, orientation, side, width, thickness, largeVdiameter, smallDiameter, normalormirror = "Default", squaretool = 102, smallV = 390, largeV = 301): from: https://github.com/WillAdams/gcodepreview/blob/main/gcodepre... (just pushed up that file, but not any other file) The idea is that a user will be able to specify a joint dimension and position, then generate a set of DXF files, which when imported will cut out the design in question once toolpaths are assigned, no need to go through all the manual drawing. The afore-mentioned joint, Full_Blind_Box_Joint is used in: https://cutrocket.com/p/63781eaf9822f and variations of it in other
Read the rest
In Childhood Computing
Yeah, Barbara Beeton was kind enough to send me a copy of the AMS report for which I am _very_ grateful. Didn't mean for my post to come across as cavalier --- it's a _very_ tough row to hoe, and even now, I don't think that there are good solutions in this space (but I haven't checked for a while, been out of the typography scene for a while now --- I'd love to be wrong). Ironically, my current project https://github.com/WillAdams/gcodepreview is circling back to the underpinnings of this sort of thing (I need to make a single stroke font so as to make it easier to set text in CNC projects) and I'm hoping to approach this from the bottom up and eventually arrive at a visual and interactive version of METAFONT/POST which will also work as a general-purpose drawing program (so that I'll have one to use when I can no longer use Freehand/MX)
Read the rest
--- hopefully that will then allow me to finish a compleat digital version of Warren Chappell's typeface designs as we discussed peripherally ages ago.
In The Letter S, by Donald Knuth (1980) [pdf]
Previous discussions: https://news.ycombinator.com/item?id=34339459 (157 comments) https://news.ycombinator.com/item?id=27645605 (74 comments) https://news.ycombinator.com/item?id=41989322 (106 comments) Note that there's a version of it as a single page: https://lcamtuf.coredump.cx/gcnc/full/ which is a bit easier to reference. Used it a lot as a guide when working on the Shapeoko wiki (which is now off-line), so maybe some of it survives in: https://shapeokoenthusiasts.gitbook.io/shapeoko-cnc-a-to-z which a couple of projects have copied (with attribution) and at least one company copied (w/o acknowledgement). 3D printing seems to have taken up a lot of this interest due to how much easier is to source and load filament and start a print and how good opensource slicers are as opposed to traditional CAM software. One thing which has help
Read the rest
ed it be somewhat timeless is only covering mechanical and geometric considerations in detail --- rather than cover software specifics it off-loads things to the Wikipedia article on Computer Aided Manufacturing, which has seen a lot of edits since this page was first put up --- my own usage has gone from my first project: - requiring that I make a font with a character which had all the text and markings of a caliper dial using FontForge - Making G-code for that w/ F-Engrave: https://www.scorchworks.com/Fengrave/fengrave.html - Making the G-code for a fixture and the balance of the design using a Flash file: https://github.com/Jack000/PartKAM - sending the design using a Python file, bCNC: https://github.com/vlachoudis/bCNC (ob. discl., I work for Carbide 3D) These days, I'd just draw it up in Carbide Create: https://willadams.gitbook.io/design-into-3d/2d-drawing make toolpaths in that application: https://willadams.gitbook.io/design-into-3d/toolpaths and then send the G-code using Carbide Motion: https://willadams.gitbook.io/design-into-3d/machine-motion (other manufacturers have similar workflows or bundle commercial software such as CarveCo or Vectric, and of course, there's Autodesk Fusion 360 which has taken up just about all the oxygen for free usage) and I've moved on to making my own project using Open(Python)SCAD: https://github.com/WillAdams/gcodepreview That said, there are still some folks making new software: https://news.ycombinator.com/item?id=47638498 and FreeCAD's 1.1 release seems a big update (despite the new book _FreeCAD Beginner's Handbook_ being branded version 1.1 on the cover but telling one to download 1.0 or later and providing screengrabs and instructions for 1.0).
In Hobby CNC machining and resin casting (2015)
More than anything, what I _really_ want is an interactive tool which allows me to work in both 2 and 3 dimensions, tagging points/coordinates with names and then referring to them by name while applying distances/lengths and modifications such as arcs and curves. I've been using Open(Python)SCAD: https://github.com/WillAdams/gcodepreview but have wished for an interactive tool which would allow programmatic usage as well (apparently OnShape does this by having FeatureScript as the basis and the UI simply edits the script?).
In Show HN: AdaShape-3D modeler for intuitive 3D printing parts / Windows 11
Yeah, it's a tough row to hoe --- I've been handling it quite differently in my own project, taking "Design for Manufacturing" to the ultimate conclusion and requiring that the part be designed by actually applying tooling: https://github.com/WillAdams/gcodepreview Needs a full-on re-write to make the G-code export (and import) work well, but lately I've been focused on exporting to DXFs w/ colour/layer tagging which was just added as an import feature in the CAD tool my side-gig employer does.
In Dune3d: A parametric 3D CAD application

Showing the 15 most recent of 96 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.