Hacker Newsnew | past | comments | ask | show | jobs | submit | cjtrowbridge's commentslogin

its really good at agentic tasks


This has been easy with OpenSCAD for a long time. I have made lots of cool, complex models this way. I built a repo of the prompts I use to show the llm how to do this and it includes many of the models I've created this way...

https://github.com/cjtrowbridge/vibe-modeling


OpenSCAD has almost zero crossover with B-rep modelling ('true' CAD, what this apparently is), though.


This isn't B-rep based modelling. Far from it. It builds up the feature tree and then uses geometry kernel to generate B-rep based representation. The final generator output script could probably be adjusted to generate openscad. It only supports 2d drawings containing lines, arcs and circles and extrude operation for making them 3d. Operations like fillets and chamfers which depend on intermediate B-rep model state are not supported.

I would even argue that for basic modelling majority of tools/features in CAD operate at the abstraction closer to CSG for describing what and B-rep is only treated as how. Just like good chunk of code based CAD use combination of CSG for what and triangle mesh based geometry engine for how. That's assuming you consider standard 2d->3d operations (extrude, revolve, sweep along arbitrary 2d profile) as valid primitives for CSG.

User comes into direct contact of B-rep in very specific situations: 1 doing operations like fillets/chamfers/draft/thickness based on intermediate geometry, 2 attaching sketches or other features to generated geometry or using generated edges (instead of new sketches) for guiding operations like complex sweeps, 3 surface based modelling workflows where you build up the the solid from individual faces typically including complex curved surfaces.

In case of 1 and 2 the the dependency on b-rep based representation is only marginal, in theory you could select edges in triangle mesh based underlying representation but the final result but quality of result wouldn't be as nice and TNP issues for parametric model editing would likely be even bigger than it is for existing CAD. That's not really CSG territory anymore but isn't exclusive to B-rep either, and involves a bunch of work that's outside the scope of B-rep. In non parametric mesh modellers with more destructive editing workflows like blender chamfers and fillets work fine. And if anything for reliable parametric models you often want to limit dependencies on intermediate geometry as that depends on CAD keeping track of where each edge/face originated from outside the b-rep and increases the chance of TNP issues.

3 is critical for industrial design containing large amount of complex curved surfaces like cars and other consumer products, but there are also many more technical parts where it can be completely ignored. Cad tutorials for beginner tutorials almost completely ignore this category of cad modelling. The part about not being exclusive to b-rep also applies for surface modelling part.


how hard it is ? with AI prevalent, how long ? any pointers to start from ?


If you want something based on B-Rep, look at projects that use opencascade under the hood, as that is one of the only B-Rep CAD kernels available which is free and open source. Some examples would be CADQuery, CascadeStudio, or RepliCAD.


OpenSCAD uses CSG which is generally better. Easy to convert CSG to BREP. Cant generally do the opposite


It's easy to convert because CSG is a small subset of what BREP can do.

It's analogous to "all squares are rectangles, but not all rectangles are squares" (squares=CSG, rectangles=BREP)

CSG by itself isn't suitable for most CAD use-cases.


How can I convert openSCAD models to true STEP files? As in no meshes. I Literally have wanted that for years.


You need to use https://github.com/smurfix/buildscad which can convert OpenSCAD to Build123d, then you can export a STEP file. It has a few limitations, but for simple OpenSCAD files it can generate an equivalent representation in OpenCASCADE.


Yeah, that fails for even moderately complex models...


Same. Working with an LLM and OpenSCAD has been totally painless.


I’ve been using cadquery and build123 with Claude code and I find it incredibly painful.

What is your workflow for llm integration to openscad?


I just ask it for what I’m looking for (doing very simple “spare part” level at home 3d printing, nothing fancy or elaborate) and it gives me a starting point. Then I sometimes just edit the scad code by hand, and some times I ask the AI to revise, sometimes a mix (many iterations).

For very simple geometries it works great, but it very quickly becomes apparent that there’s a bit of a disconnect between “LLM views image” and “LLM emits scad that looks like that image” when it comes to anything non-trivial.

Still gives me a starting point I can mess with, which is great since I have zero CAD training or experience.

(I’m not the commenter you replied to)


Tbh that sounds harder than just learning CAD, which is really not that difficult if you use a proper parametric editor - I would recommend SOLIDWORKS first. It's got the easiest UX so is ideal for learning. They actually have a vaguely reasonably priced subscription now, but IMO it's still way too much for occasional hobby use so I'd recommend just pirating it (which is easy).

Once you have learnt a bit then the only FOSS options that are worth a damn are a) SolveSpace which is quite good and light, has a slightly quirky UI (but not in a bad way) but unfortunately has some critical missing features at the moment - notably bevels/chamfers. Although I did see someone made a sloppy PR to add them so we'll see where that goes.

Or b) FreeCAD which is actually good now and fairly close to SOLIDWORKS (at least for the basic stuff you're likely to use) and has a reasonably good UX. Some rough edges still but overall it's very usable. Good enough that I reach for it instead of pirating SOLIDWORKS these days.

The basic workflow is pretty simple:

1. Make some planes, referenced from existing geometry. 2. Make sketches on the planes. 3. Extrude/revolve them (either adding or subtracting from the existing geometry). 4. Repeat until you have the right shape. 5. Add a load of chamfers to make it pretty.


So, steps 1-5 can be done by clicking (tools you recommend), or writing lines of script (OpenSCAD). Once you grok those steps by just doing it yourself, you quickly get to a point where an LLM is quicker at editing the text file that represents the steps to generate the model. Things like "Make the extruded face I labelled blahblah do xyz", and it's quite good. Even better: "Parameterize curve abc and generate this spread" or something. You get it.

For LLM-assisted bespoke model generation it's still fine if you specify a process to follow, and can "speak the language" (knowing 1-5).

This is no different than purevibe vs LLM-assistance, IMHO. What TFA refers to is a more end-to-end, no iterative process, with no single touchpoint script like OpenSCAD offers, so it's very much _not_ a collaboration and requires no knowledge of how CAD models are made.

But this thread is moreso about iterating on an OpenSCAD specification using LLMs.


From my experience people who heavily rely on LLMs are allergic to learning anything new (with the exception of learning new and improved ways to generate slop). They just 'want to get stuff done', even if it means staying in a local maximum forever.


Tell it to use the existing libraries. https://openscad.org/libraries.html, in particular BOSL2

I've one shotted a light saber hilt with threaded parts and it worked flawlessly.


Not OP but I just ask Claude Code to make me an openscad file. If I need changes I ask for them in plain english. If you are specific, it's not the quickest loop but it works. I usually ask it to parameterize the model enough so that I can quickly print small prototypes in my 3d printer. Once I am happy with the mini version I print the full-size model.


check this out: https://modelrift.com/blog/openscad-llm-benchmark LLMs are getting pretty good at OpenSCAD, especially if they work in agentic mode and can inspect intermediate results.


I'm sorry, but which ones of these are complex? I'm looking through some [1] [2] [3] of the output PNGs and they look trivial. Like, my first 3d model in Blender trivial.

In comparison, here's one of my recent designs: what I would still call a very simple case [4]. And it's not like I'm a trained mechanical engineer working commercially, this is stuff I design in my spare time as a programmer.

[1] - https://github.com/cjtrowbridge/vibe-modeling/blob/main/outp...

[2] - https://github.com/cjtrowbridge/vibe-modeling/blob/main/outp...

[3] - https://github.com/cjtrowbridge/vibe-modeling/blob/main/outp...

[4] - https://object.ceph-eu.hswaw.net/q3k-personal/fe3e54e6df604a...


What is the inference overhead on this


There are more elegant solutions to this problem. Why are you trying to get an LLM to work with bloated, archaic tools that you have to rent from a feudal lord in the cloud when there are free open-source alternatives like OpenSCAD.

This is just one example of a superior tool that's natively easy for LLMs to interact with, because the source files are just composable scripts containing lists of shapes and then lists of tools and parameters to apply to the shapes.

I wrote a simple set of system prompts you can use in any repo to show any LLM how to make SCAD files with a whole bunch of cool examples. This is just another example where walking away from the bloated, inferior feudal system of SaaS and cloud models leads to simpler processes and outcomes with superior results in less time, for free.

https://github.com/cjtrowbridge/vibe-modeling


Posing OpenSCAD as an alternative to the likes of Fusion is like posing MS Paint as an alternative to Photoshop. It's not even the same class of tool.


In programming the best tools are open source. Nobody is using a closed source compiler anymore, for example. That can lead to an assumption the same is true in every domain. But it's not true. Closed source commercial CAD software absolutely blows the open source stuff out of the water.

OpenSCAD is a cool project and can be useful, but if you believe it's a "superior tool" to professional CAD packages like Solidworks or Fusion360, you must not have used them.

The pro software does things that are impossible or clunky in the OSS alternatives. One I frequently used in SolidWorks: loft with guide curves. SolveSpace and OpenSCAD don't even attempt to support lofts. FreeCAD does but doesn't do guide curves, so you're stuck adding more intermediate profiles to make up for that, and it's horribly easy to get your loft twisted where it's not connecting the right vertices.

Don't get me wrong, I'm very appreciative of the FOSS options, and I do get a lot of use out of them at home for small projects. I especially love SolveSpace, it is beautiful software, well thought out, fast, and its feature set is enough for 80% of my projects. But there are definitely some CAD tasks like designing a car hood or an ergonomic handle, where the FOSS software just doesn't match commercial for modeling capability. And that is not even getting into all the stuff it can do beyond modeling like FEA and CAM.


> Closed source commercial CAD software absolutely blows the open source stuff out of the water.

Very unfortunate, but true indeed.

One of my big hope is that coding with the help AI will quickly close that gap (the missing piece is a modern geometry engine like what's in Fusion, and should be reachable in an OSS context with AI-assisted coding now).

Once that happens we will be able to finally and forever escape the clutches of the likes of Autodesk.

But we're not there yet.


Whilst I disagree with you (reasons mentioned in the post above), we actually have done quite a bit of work with OpenSCAD!!

See our opensource text to cad editor: https://github.com/Adam-CAD/CADAM


Having worked in CAD for over a decade previously, I think the users want a product surface, and the people paying for the engineers time want a reliable trainable solution that will exist exactly as it is today in five years. They are happy to pay for it in monthly installments.

This is a separate dimension to alternative high quality modeling solutions alone.

Now, some of the users especially are _proud_ of their product specific skill set. They don't _want_ to switch a package.

And - it's much easier to get professional engineers to use extensions to packages their engineering office already uses.

And this comes before any technical side-by-side feature comparison.


>when there are free open-source alternatives like OpenSCAD.

As much as I agree with the fact that they should have built that tool for free open-source alternatives first and foremost, OpenSCAD is not the right choice.

OpenSCAD is a fantastic tool to whip together a box for your hobby electronics project, but doing serious professional CAD models ... it's just not in the same league as fusion, onshape, and freecad (as hideous as FreeCAD's UI may be).


You won’t be taken seriously if you push OpenSCAD - it’s simply not a tool that professionals will adopt due to not doing Breps. I think the recent progress of FreeCAD and its spin-off libraries cadquery and build123d will be better to push.


Yeah, I'd love for OpenSCAD to support a kernel which supports NURBS and could output a (nice) STEP file.

There is an OpenSCAD Workbench in FreeCAD --- does it work so as to get a workable representation?


Get back to us when you've used OpenSCAD to design and build something like an airplane.


Thanks for sharing. OpenSCAD skills seems like a great idea.


(this is how android has always worked)


No? Android has the same interface regardless, it just scales a little with a bigger screen. Samsung did separate silos with Dex, but that's their own thing.


Maybe they only ever get Samsung devices. Dex is almost a decade old.

A desktop mode was recently added for base Android tho. And you could always mod your Android device to open termux when you connected an external monitor, that sort of thing.


Really? I feel like android doesn't change at all with a keyboard, and doesn't support half the keyboard shortcuts you can use on iPad.


All of SapaceX rockets waste close to half their payload capacity on extra fuel for landing, extra equipment for landing, and they still have a 100% failure rate on every super-heavy launch they've ever attempted. SpaceX has blown up more rockets in the last year than NASA has in its entire history. NASA's super heavy rockets have been working successfully since 1967. NASA did build the first single-stage-to-orbit rockets that also successfully landed, but it immediately realized that was a huge waste of resources. Instead, they put parachutes on rockets and then refurbished them instead. So NASA gets double the payload capacity for free. The boosters currently strapped to the SLS that's about to go to the Moon are the same ones that previously took space shuttles to orbit in the 90s. NASA has been to the Moon and Mars; SpaceX has never made it to either, and just last week Elon said they've officially given up on going to Mars, and they're hoping to make it to Moon in another decade instead. NASA is going next month. SpaceX is just vaporware being run by a drug addict whose only goal is to sell it to the public markets before the house of cards comes down.


> SpaceX has blown up more rockets in the last year than NASA has in its entire history.

SpaceX's number of successful launches last year exceeded the total number of launches by all other U.S. agencies over the past decade.


Only with LEO launches, and the soviet rockets from the 90s are still cheaper and more reliable at that. Enormous subsidies and sanctions against Russia are the only thing pushing anyone to spend more on inferior Falcon rockets.


It would be great to have some actual numbers. How did reuse work out for Falcon 9? How much does the reused boosters for SLS cost? What's the cost and performance of an expendable Starship vs SLS?


It's not possible to compare, because while the SLS just got back from the Moon and is about to go back; SpaceX has never had a single successful super-heavy launch. Now that Elon has officially given up on Mars and decided to spend the next decade trying to figure out how to get to the moon, we may see some progress. All he has to do is put down the drugs and catch up to the NASA of the 1960s.


Going to Mars takes about the same delta-v as the moon.

SpaceX launches 80% of the world's mass to orbit, they probably know what they're doing.

Starship is an extremely hard problem, and their aim is to reduce cost of getting mass to orbit by another 10x after Falcon 9 did the same.

Falcon 9 needs about 4% of fuel to land on a ship, 14% to return to launchpad

Why would you say they've had 100% failure rate? What did you think the reason was to launch and how did it fail?


Surely the could put a traditional upper stage on Super Heavy and just go directly to the moon, no? I’m not sure what the obsession with second stage reuse is, because you lose almost all your margin.


Falcon Heavy (as its name implies) is not capable as a super-heavy lift vehicle. Past GTO, it can only carry 18 tons. You need more than double that to reach the Moon and come back, as NASA did in the 1960s.


I'm not sure what the obsession with airplane reuse is. Why not just build a new one for each flight?


You don’t gain additional margin throwing away an airplane. Reuse is a lovely idea but the rocket equation is a harsh mistress.


Space X cares way more about reusability than the moon, they're not actually in a race to the moon. Step 1: build the best general solution. Step 2: do everything


You're confused. Elon said two weeks ago that they have given up on Mars and the Moon is the goal they're currently working on. He said it will probably take them another decade to catch up to NASA of the 1960s by reaching the Moon with a real super-heavy rocket that actually works.


He said moon first, not no Mars. And a decade to build a moon city, not to get there.

However what people say and their real reasons aren't always the same.

I assume Issacman went around to everyone and convinced them to say they're all switching on the moon, add another test flight to delay things, and in return they'll switch to using Starship in the future as they will cancel Block 1B of Artemis


They’ve already caught and reused a Super Heavy and had multiple successful soft landings in water with Starship.


No, it's never made it to orbit.


A KPI is an ethical constraint. Ethical constraints are rules about what to do versus not do. That's what a KPI is. This is why we talk about good versus bad governance. What you measure (KPIs) is what you get. This is an intended feature of KPIs.


Excellent observations about KPIs. Since it’s intended feature what could be your strategy to truly embedded under the hood where you might think believe and suggest board management, this is indeed the “correct” KPI but you loss because politics.


Radxa has rpi clones with better specs that already do that


If Radxa would slow down their rollout of another new hardware board with vastly different target markets every month or so, they could wind up with a few really well-supported boards.

But as it is, you have to love tinkering with Linux or reading things across forums, blog posts, GitHub issues, and Discord to get a given Radxa board going nicely. It can be done, but it still takes too much effort for many.


idk but sounds like they might be run by designers and also they might be outsourcing PCBA. Just doing one batch simplifies operations by a lot. Not that I think it's commendable to do so...


Sounds like the opposite of a RPi clone.


This brings up a point many will not be aware of. If you know the random seed and the prompt, and the hash of the model's binary file; the output is completely deterministic. You can use this information to check whether they are in fact swapping your requests out to cheaper models than what you're paying for. This level of auditability is a strong argument for using open-source, commodified models, because you can easily check if the vendor is ripping you off.


Pretty sure this is wrong, requests are batched and size can affect the output, also gpus are highly parallel, there can be many race conditions.


Yup. Floating point math turns race conditions into numerical errors, reintroducing non-determinism regardless of inputs used.


This is an obvious third-factor for poverty and marginalization. Air pollution exposure is the most classic example of unequal protection from harm in environmental justice. Alameda county did a study on this that found as an isolated, direct-result of unequal exposure to air pollution, black people live 15 years less than white people on average in Alameda County alone.


If you could see long term PM2.5 averages and how they vary, we'd approach as a national crisis.

https://www.sciencedirect.com/science/article/pii/S266601722... (this groups methods can be substantially improved).

Having done some additional follow on work in the space -- the results definitely do not follow socioeconomic boundaries as one might expect.

Roads are a huge contributor.


Roads being a huge factor also plays into socioeconomic factors though, at least in some places. Take New York City for example, where the off-ramps for highways were purposefully planned to let traffic out in larger numbers in impoverished areas to keep the noise and pollution minimal for the more affluent burrows.


Absolutely. Though, do note that, at least in the US, road network locations change slower than gentrification changes a neighborhoods socioeconomics.


I find this very hard to believe... Mind sharing that study?


Same. I hail from a particularly polluted (compared to the rest of the EU) country, so PM2.5 over 80µg/m3 during the entire heating season, NOx constantly above 50µg/m3 in cities due to old diesels with anti-pollution devices turned off or removed entirely and the overall effect is said to be a 3-6 years shorter life expectancy.

It checks out compared to countries without these issues, so 15 years to me sounds exaggerated, especially if we're talking about areas close to each other.

Such a huge shortening normally involves heavy metal pollution of the drinking water and soil.


Yeah, I mean, how do they identify the causal effect here? It's obviously not easy, because polluted areas are also poor areas, and poor people live in poor areas (and have other problems).

It would be nice if the article had mentioned this issue. A metastudy of lots of bad correlational studies is just garbage in garbage out. So, did they address the issue?

There are ways round it, by the way. As a recent review said:

"it is unclear why federal ISAs that are the input into all regulatory analyses tend not to incorporate the emerging body of evidence on the effects of air pollution on health outcomes from the economics literature despite the additional rigor imposed by the emphasis on causal inference."

https://www.annualreviews.org/docserver/fulltext/resource/15...


It's not surprising that poverty affects life expectancy but what I find hard to believe is that poor air quality shortens life expectancy by a full 15 years.


From a quick google search I'm guessing this study: https://pmc.ncbi.nlm.nih.gov/articles/PMC11097628/


That sounds incredibly obvious on the face of it though ?

Having the study at hand is nice of course, but environnemental factors being alleviated through money and discriminatory policies is rampant enough I don't get the surprise.

People using high quality water filters or straight buy clean water tanks in areas where tap water is bad, getting better indoor air filtering, blocking construction of pollution sources to move them further away (near poorer areas) in the county, redlining/manipulateing zoning rules to make it systematic etc.

It's a old as humans.


15 years disparity in life expectancy exclusively attributed to air quality is not incredibly obvious. To put this in perspective, nationwide average disparity in life expectancy is 5 years between Black and white people. Triple that amount, exclusively attributed to air quality, is a substantial claim.


Exactly. Even smoking doesn't shorten life expectancy by that much (it's 10 years).


Smoking is voluntary, partly self-adjusting (willingly or not you'll reduce smoking as you get worse), composition is regulated and that habit only starts at a later stage in life.

None of that applies to PM2.5 kind of pollution.


For an area that has well known air pollution issues it doesn't sound far-fetched.

Comparing to the national average helps put it into perspective but doesn't make sense as sanity check. Flynt could be a better data point.


Literally the poor people in London lived in the East End because it was downwind.


London has one-way wind?


Prevailing wind directions are common though? Coriolis effect and earth rotation and continuously moving energy source in the sky and all that.

https://en.wikipedia.org/wiki/Prevailing_winds

That's why we learned to look at on wich side of the trees the moss grows to find the compass directions.


Yes. Marine environment: the wind blows largely off the Atlantic, across the whole UK.


Yeah, that tracks with a lot of the environmental justice research


On the other hand life expectancy of richest people in US is on par with poorest in EU. (Poverty is still factor within those regions).


This is simply not true, at least if you consider all of Europe.


Not sure what "all of Europe" are you talking about when I was talking about EU.


Even if you average across the whole EU, this is not true. Western and Northern EU countries are the exception to the rule.


I don't believe this, show me your stats. The poorest region is Bulgaria, with life expectancy of 75. Just looking at the American Congress (which isn't even composed of the richest people), few people there die at mere 75 years of age.

Also, here in the EU, life expectancy varies a lot. Interestingly, not-so-rich countries such as Italy and Spain win over richer Austria, Germany and Denmark by a year or so.


Diet is most likely a big factor. Despite being less rich, Italy and Spain have decent healthcare systems, and traditionally Mediterranean diets tend to include more vegetables and less saturated fats than cuisines in those Northern countries, and even poor people have access to those healthy options.


I was wrong about EU in general. It was about poorest in western Europe.

https://www.brown.edu/news/2025-04-02/wealth-mortality-gap


...in one single cohort-based study that only looked at around 10K deaths between the United States and 16 European countries, not the EU or all of Europe.

Life expectancy in the EU varies a lot by country. Someone born in Sweden has a life expectancy over ten years longer than someone born in Latvia.

That one study feels like a paper that was engineered to make headlines and social media sound bites, not to be an accurate look at the entire population.


Do you think your comment has more value than one study?


No. It's because large models have leveled off and commodified. They are all trending towards the same capabilities, and openai isn't really a leader. They have the most popular interface, but it really isn't very good. The future is the edge, the future is smaller, more efficient models. They are trying to define and delineate a niche that needs datacenters where they can achieve rents.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: