HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
mkeeter
antimony
C++2015–2025
mkeeter / antimony

antimony

CAD from a parallel universe

11Distinct people
14Mentions
0Explicit recommenders
2.2KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

CAD from a parallel universe

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

No other repository is repeatedly linked in the same discussions.

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.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year14 dated mentions

Observed mentions: 2015-05-29 12:19:58 UTC to 2025-03-25 12:06:24 UTC.

02462015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 7 mentions; 2 submissions, 5 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025

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
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC725
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC303
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC000
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101

What Hacker News says

14 sources
> Can anyone explain where this blob of "assembly language" comes from? Assembly language is definitely the right analogy: it's a low-level target generated by higher-level tools. In this case, the expression came from a Python script calling this text(...) function: https://github.com/mkeeter/antimony/blob/f6a56dd7/py/fab/sha... The font is hand-built from geometric primitives (rectangles, circles, etc) and CSG operations (union, intersection, difference) > What is considered an acceptable preprocessing or transformation? I'm looking for interesting ideas, and to mine the depths of PLs / compiler / interpreter / runtime research. Just returning a fixed image isn't particularly interesting, but (for example) I just updated the site with a compile-to-CUDA example that shows off the brute force power of a modern GPU.
In The Prospero Challenge
Just a quick diff between your list and mine, apologies if I missed them or if there is a reason to exclude these: - https://github.com/nickc92/ViewSCAD - Matt Keeter's stuff (listed here https://www.mattkeeter.com/projects/, including https://github.com/mkeeter/antimony and https://www.mattkeeter.com/projects/ao/, though I see you have libfive) - https://solvespace.com/index.pl - https://mirmik.github.io/zencad/en/ - https://github.com/fogleman/sdf This is from a list entitled "migrate away from OpenSCAD", but somehow I can never manage to do that... Thanks for this site!
In Curated Code CAD (2020)
JS doesn't have first-class environments, so you can't have the same safety guarantees. Added with its weak typing... You could instruct JS to calculate anything. Visual Programming might possibly be useful for end users, but in most areas, there are better approaches. Serving limited environments to users is useful in at least these situations: * nREPL * Database APIs (ala firebase) * Mathematical APIs (ala Mathematica) Some of these I've needed in production, such as more precise calculations for statistics. (FloNum integrations into pre-existing applications). My main point was, LISP is unconstrained, but still gives safety to the programmer. A simple example of a first class environment: (eval (read (current-input-port)) (let ((add (lambda args (apply + args))) (null-environment))) The only function exposed
Read the rest
is called add. There isn't a way to break that. It makes embedding Scheme into applications such as GIMP or games much easier. (Just a side note, antimony [0] seems to be gaining popularity in its niche) [0] https://github.com/mkeeter/antimony
In Ask HN: What cool development languages/tools changed your career?
Antimony [1] is stable and user-friendly. You can get started without knowing about the underpinnings, just by connecting predefined shape nodes into a graph – basic modeling is possible with just the mouse, as shapes can define handles in the UI. Using Python for scripts is also a bit more accessible than Scheme. The downside is that hacking raw shapes is less pleasant, because they're defined as strings implementing a DSL. Developing on Antimony is also slower – much of the code is UI and glue to attach the geometry + graph engines. Ao is more experimental and unstable. It's much lower-impedance for folks that want to work directly with f-reps, but doesn't have a click-and-drag UI with which to get started. The geometry kernel is also newer than Antimony's, and has slightly better performance. From a development perspective, I ca
Read the rest
n play more easily with new algorithms without a cumbersome UI. For folks that aren't as comfortable with coding, Antimony is the right choice. For f-rep development, Ao is the right choice. Otherwise, it's a matter of personal preference. [1] https://github.com/mkeeter/antimony
In Ao is a tool for programmatic computer-aided design using Scheme
This is a really great question. I don’t know the answer yet. I struggle with this problem every day when I design things in OpenSCAD, because OpenSCAD doesn't give your parametric model access to the results of the modeling operations in any way (!!) I think that Antimony kind of suffers from the same problem, but because it's using distance fields rather than plain CSG, it does have a “blend” operation (https://github.com/mkeeter/antimony/blob/develop/py/fab/shap...) that attempts to fillet the union of two shapes. Now, Antimony has inversion (complement, more or less), and set A \ B is just A ∩ B', which by De Morgan's Laws is equivalent to (A' ∪ B)'. So what happens if you attempt to approximate a filleted A \ B with invert(blend(invert(A), B))? I don’t know. But damn, I’m sure tempted to try it! Of course, even if that works, t
Read the rest
hat won’t fillet a specific edge resulting from the subtraction. It will fillet all of them. Invariably, that is what I want.
In Antimony – A fresh look at CAD software

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.