r/openscad

▲ 11 r/openscad+5 crossposts

I built a CAM/CAD app because everything else annoyed me — here’s what it can do

I’ve been working on a CAM/CAD app for a while now, mostly because every tool I used kept slowing me down or forcing me into workflows that made no sense. So I finally snapped and built my own.

The whole thing is real‑time. You move geometry, it updates instantly. No sketch modes, no “finish sketch,” no regenerating half the model because you changed one dimension. It feels way closer to actually shaping something instead of babysitting a CAD program.

On the CAM side, I added a bunch of logic that helps instead of getting in the way. It suggests toolpaths, predicts collisions, auto‑builds roughing/finishing passes, and points out weak geometry before you commit to anything. It’s not “AI magic,” it’s just smart enough to stop you from doing dumb stuff or wasting time.

Everything updates live. Change the model → toolpaths update. Change the toolpath → simulation updates. No rebuild buttons, no dependency chains exploding because you nudged a face.

Performance was a big focus too. Geometry, slicing, material removal — all of it is GPU‑accelerated and reacts instantly. It’s the first CAM/CAD setup I’ve used that doesn’t break my flow.

If anyone wants to see it, I can post videos or GIFs. It’s way easier to show than explain. And if you’re into machining, CNC, CAD, robotics, whatever — I’d actually love feedback. I’m trying to make something that feels modern instead of stuck in 2005.

If you want to try a demo build, just say so.`

u/moneyplughub — 1 day ago

Orbit Multi-Sensory Planetary Gear Spinner

A while ago someone tagged me because Printables is running a geared spinner challenge. I thought that sounded like fun, so I made this: ORBIT, a planetary gear fidget spinner where the gearbox itself is the toy. You pinch the stationary centre hub, flick the outer ring, and three planet gears spin and orbit between your fingers while a printed spring ticks against 24 detents inside the rim.

Some context on why it's built the way it is. I'm blind, and most fidget spinners are honestly boring when you can't see them: a blur, a faint hum, done. So this one is meant to be felt and heard first. The ring rim carries raised numerals 1, 2 and 3 with matching braille, the grip flutes pause at each numbered station so you can find them by touch, and the hub cap has a raised sun with one longer ray as a tactile pointer, so you can actually count rotations and play games with it, sighted or not. The planet gears take swappable press-fit caps with celestial symbols (moon, comet, star) that are instantly distinguishable by feel. If you'd rather have a silent spinner, the click spring is a separate disc you can swap for a smooth spacer.

OpenSCAD is the reason this project exists at all. It works beautifully with a screen reader, so every dimension, tolerance and tactile feature was written and verified as code. I never saw the model; I compiled it, printed it and checked it with my fingers. The source is fully parametric with Customizer groups: overall diameter, gear module and tooth counts, click strength (arm count, thickness, preload), braille and numeral sizes, and separate tolerance values for every fit, including gear backlash, the hex stem, the planet caps, and the printed screw thread on the hub cap. There's a small test plate to dial those fits in on your own printer. Gears are done with BOSL2 plus a custom braille library.

No bearings, screws, glue or metal anywhere. The gear mechanism prints in place as one piece, everything prints flat with no supports, and even the assembly instructions are written non-visually, describing what each part feels like and what correct assembly feels like at each step. It's about 75 mm across; the one I printed is 6 walls and 100% infill, which gives it a lovely dense feel and real momentum.

u/Mrblindguardian — 1 day ago

Resurrected OpenSCAD plugin for IntelliJ

This is a fork of the original OpenSCAD IntelliJ plugin that became orphaned (https://github.com/ldenisey/idea-openscad)

My fork can be found here: https://github.com/mjparme/idea-openscad

Plugin requires IntelliJ 2026.x and can be installed from Plugins in the Settings. Don't need an IntelliJ license to use it.

https://plugins.jetbrains.com/plugin/33582-openscad-support/edit/versions/stable/1140844

Changes:

  • Can now rename modules, functions, and variables from both declarations and call sites. Renames follow use and include paths
  • Go to declaration works
  • The plugin can parse the bosl2 library (brought in PR https://github.com/ldenisey/idea-openscad/pull/109 from icaven from the original that had been sitting unmerged since 2024)
  • Completions for modules, functions, variables, language keywords, and file paths for use and include. Completion candidates follow use and include paths. Can complete modules with or without parameter names. If you complete with parameters any parameter defaults are completed as well.
  • Completion of inner modules works
  • Completion of modules when the caret is before the declaration works
  • Completion of global libraries (hit ctrl-space again to get global libaries added to completion candidates)
  • Old plugin only used lexer tokens for highlighting which meant most everything was an "identifier". It now uses the parser for semantic help and now modules, functions, variables, and parameters can now be giving their own color in the Color Scheme
  • Default color scheme available in Default, Darcula, and Islands Dark editor themes
  • Default color scheme gives different color to modules, functions, variables, and parameters
  • Gave OpenSCAD its own live template group associated with .scad files and added starter live templates.
  • Plugin updated to a IntellJ Platform 2.x plugin, upgraded build
  • Fixed some issues with the preview on startup
  • Fixed several issues with actions not being on the EDT

Basically it is actually usable now. Open an Issue on github if you run into problems (or open a PR).

More info in the README: https://github.com/mjparme/idea-openscad/blob/master/README.md

Known Issue:

The preview doesn't reliably update when the file saves (sometimes it does). I am working on this. Actually I am working on bringing openscad-wasm in so an executable isn't needed for the preview (will still be needed for "open in openscad" and "export").

u/wildjokers — 1 day ago
▲ 157 r/openscad+1 crossposts

LuaCAD - Parametric CAD scripted in Lua

LuaCAD models solids in Lua rather than the OpenSCAD language, with operator overloading for CSG (a + b, a - b, a * b). It ships with a CLI and a desktop app, including a preview area and a text editor.

It’s fully open source and you can find the repo here: https://github.com/ad-si/LuaCAD

I've always been a big fan of OpenSCAD, but the SCAD language itself is unfortunately quite cobbled-together and is a very poorly designed programming language.

LuaCAD takes all the good parts of OpenSCAD and combines them with Lua. It has now completely replaced OpenSCAD for me, and I think it provides a better experience than OpenSCAD for all use cases. I'd love to hear any reasons why LuaCAD won't fully replace OpenSCAD for you!

Tech stack:

u/adwolesi — 3 days ago

How would you approach this in OpenSCAD? (details in post)

I'm trying to recreate the object on the right ("Clip Seat") in OpenSCAD. The object on the left is my current progress.

I know minkowski() can be used to round out edges, but I can't wrap my head around it beyond the basic cube/sphere examples.

I'm curious how you guys would go about recreating an object like this. How would you break the project up into modules/etc., such that it's possible to create the same kind of rounded edges of the original?

u/malstr0m — 3 days ago

Creating collapsible cones with OpenSCAD

I used OpenSCAD to create nesting, extensible cones. Full writeup here: https://medium.com/@thetoyengineer/designing-collapsible-toys-92916e83ca7c

And the code is on GitHub here for anyone that wants it: https://github.com/The-Toy-Engineer/cones

I'm just getting that Medium account going, but will be focusing on designing mechanical toys using open-source tools, including OpenSCAD. If that sounds interesting to you, be sure to follow us for more!

u/plastic_machinist — 4 days ago

Difference command not working?

Hi everyone,

This is my first time ever using OpenSCAD for a small project. The tutorial I watched said that this is the command to subtract the cylinder, but it's not working. Was the video I watched outdated? How do I subtract the cylinder?

Thank you in advance for any help!

u/generic-horsegirl — 4 days ago
▲ 43 r/openscad+1 crossposts

From hand-drawn sketch to a perfect, tweakable 3D model in 30 seconds. Gemini 3.7 Flash is an absolute game-changer for functional parts.

(Disclosure: I am the solo developer behind the app mentioned below, stl-er)

Yesterday, Gemini 3.7 Flash came out, and I immediately started testing it under the hood of my app, stl-er. After doing some prompt engineering, I am honestly blown away by the results.

The biggest highlight? I tested the new model's vision capabilities by uploading 2D drawings, one professional 2D drawing (not attached due to NDA) and two of my own hand-drawn sketches (see attached images and the resulting screenshots).

The interpretation was mind-blowing: 3 uploads, 100% correctness. It provided totally correct models in about 30 seconds each, and even mapped out all the relevant parameters for me to tweak afterward. It’s crazy.

Why this matters for 3D printing: Before this, I had tested almost every model up to Fable 5. Most of them heavily struggled with spatial understanding. Plus, earlier models like GPT 5.4 mini or Gemini 3.6 Flash were just too slow to run any kind of "medium thinking mode" without creating a terrible, laggy user experience.

It’s always a battle between speed, quality, and cost, but Gemini 3.7 Flash finally hits the sweet spot. It’s so fast that medium thinking mode is now perfectly viable. I did test some highly complex parts and eventually hit the model's limitations, but the ceiling has been raised significantly. The future of these models is going to be insane.

A bit about stl-er and why it's not just another AI mesh generator: My vision for stl-er was always to build a bridge from an idea to a print-ready model for people who just don't want to learn complex CAD. Under the hood, the app uses OpenSCAD to generate real CSG. Because we aren't just throwing together messy AI meshes, the app is built specifically for functional parts. It’s not meant for printing figurines or organic statues. We want parametric, watertight models for real-world parts.

  • One of the biggest values of the app is the community aspect:
  • All generated models go into a public community library.
  • Anybody can pick a model, adjust the parameters, download it, and print it.
  • Zero licensing restrictions. Do whatever you want with the files.
  • It is totally free to browse the library and download up to 5 models per month (and absolutely no ad mobs).

One quick heads-up on logging in: Currently, you can only log in with Apple or Google. I know not everyone loves OAuth, but I actually had to remove the standard Email/Password login because bots started aggressively scraping the model library before the app was even officially released. Once I figure out a bulletproof way to verify emails, I'll bring it back.

I'm incredibly excited about where this is heading and glad we are on the right track. If you want to mess around with it, you can find more info and the App Store / Play Store links over at
stl-er.com

u/Major_Ad_1656 — 5 days ago
▲ 27 r/openscad+1 crossposts

Made some great progress on my from-scratch implementation of OpenSCAD in rust

Desktop app auto-updates.

Customization knobs can be added via comments.

Code auto-complete on all functions.

5 to ...300x faster depending on the operation

There are still rough edges, but I'm very excited about the progress I've been able to make

openrscad.com
u/shapesandbubblegum — 7 days ago

Human-made: Adjustable Suction Cup Mount for Soap Bottles

Meant to stop soap bottles from sliding around. Designed for a bolt-ready suction cup & adjustable to get the perfect vertical clearance for seal. BOSL2 / PETG.

u/pp51dd — 8 days ago

Garden hose threads and mason jar threads now in BOSL2

It's kind of a niche application, but a few days ago my PR for implementing garden hose threads and connectors, as well as mason jar threads and caps, got approved and merged.

I needed BOSL2 to do this for a project, and thought it might be useful to include.

reddit.com
u/amatulic — 9 days ago
▲ 0 r/openscad+1 crossposts

Is there a tool that can convert engineering questions/images into 3D models?

I'm exploring an idea for an engineering 3D visualizer and wanted to understand what's already available.

Are there any applications, engines, or AI systems that can take an engineering question, text description, or 2D image/diagram and generate a viewable 3D model of the concept?

For example, given a question about a mechanical component or mechanism, it could generate the corresponding 3D visualization.

I'm mainly looking for existing tools/technologies to learn from.

reddit.com
u/TheIdealAdhi — 8 days ago

Wireframe projection export to dxf

Hello everyone,

I am fairly new to OpenScad and am trying to export a drawing for exact size paper printing. I have read about DXF and the projection. Unfortunately projection always produces a closed polygon eliminating all of the vertical details.

My solution so far is using offset and difference to produce an outline. I can then vertically move the parts and use cut=true to produce outlines at different height/feature levels. Then I union all of them together.

union() {
  difference() {
    // move([0, 0, ...]);
    projection(cut=true) shield();
    offset(-1) projection(cut=true) shield();
  }
  difference() {
    projection() shield();
    offset(-1) projection() shield();
  }
}

I was wondering if there is a better way to do this. I would expect this to be a function that is often needed.

Any ideas are appreciated.

reddit.com
u/Huhngut — 8 days ago
▲ 21 r/openscad+4 crossposts

ork2step converter

hello all. i recently finished creating a software that can take .ork files as input and output all of the parts as step files. you can then open them in CAD and edit them however you like

ill attach the link to the github with full instructions. give it a shot and see if it works for you. it works best on mac and i havent tested it on linux or windows, so if you use linux or windows, lmk how it goes! it requires some terminal work but once you get it set up its really easy to use whenever. give it a star please! thanks!

https://github.com/max-h-25/ork2step

u/mh42311 — 11 days ago

Adding Text to Objects in SVG

For my job, I have to load large rolling cases into a box truck. Id like to use a free nesting software called Deepnest.io to help me find the best way to place the boxes. It's mostly very easy - I make an SVG file with rectangles the size of the truck, and the dimensions of the rolling cases, and the program shows the optimal way to load them. EXCEPT I cannot figure out how to label the individual boxes

Is there a way to add text to the boxes so it will stay grouped when I run it through the sorter?

reddit.com
u/Awkward_Influence670 — 9 days ago

Parametric puzzle box where the mechanism stays fixed as the box resizes

The interesting problem was letting height, width and length vary independently while the locking geometry, clearances and part alignment stay exactly where they need to be. Asserts catch dimensions the mechanism physically can't fit into, rather than silently generating a broken box.

Lid and button decoration accept arbitrary SVGs or text, either engraved or emitted as separate inlay geometry for multicolour printing. There are exploded and cutaway preview modes, and each part can be exported on its own.

https://makerworld.com/en/models/3132120-presto-customizable-secret-puzzle-box#profileId-3534978

u/jpedroleite — 14 days ago