See: "Lego sues Dutch firm over anti-terror blocks using name and shape" https://www.thetimes.com/world/europe/article/lego-sues-dutc... ( http://archive.today/q5XrX )
My main beef with zoo is the fact that they are promoting vendor lock-in by forcing users to use their cloud-hosted geometry kernel with absolutely no local alternative. It's not clear to me how µcad solves this problem.
[1] Lego brick in KCL: https://zoo.dev/docs/kcl-samples/lego
[2] Lego brick in µcad: https://microcad.xyz/index.php/2025/11/12/lego-bricks/
[3] Gear in KCL: https://zoo.dev/docs/kcl-samples/spur-gear
[4] Gear in µcad: https://microcad.xyz/index.php/2025/11/12/gears/
Gear in build123d: https://github.com/GarryBGoode/gggears
Does anyone have idea about the STEP export support status for KCL/µcad? To me it looks like KCL cannot, and I cannot find information on it about µcad. The one tool I'm familiar within this space is OpenSCAD and it cannot. While FreeCAD is able to (sometimes?) convert from STL to STEP, it seems actually working with such models in FreeCAD is quite compute-inefficient.
For FreeCAD specifically, there looks to be an OpenSCAD import process directly. I don't have experience with how it works, but that may be better than going through STL
But I also quite quickly found examples that don't work. I don't know if that's the import not being very good, me finding weird examples, needing to install more libraries, or PEBKAC.
If you import, sew, check geometry, refine, etc., you can eliminate unnecessary triangles in planar faces. But you can't magically make a 120-sided-polygon that should be a circle a circle; you're going to have to do that yourself.
Though Mark Ganson's MeshRemodel workbench looks interesting: https://github.com/mwganson/MeshRemodel
And FreeCAD is not the best tool for correcting broken meshes, which are commonplace. MeshLab and the vaguely-on-life-support AutoCAD MeshMixer are better at it.
STEP/IGES is as you say more or less essential if you want to work with code-CAD output in any other serious context. STL is not enough: it is like converting to JPEG in the middle of a photo editing flow, not at the end. It destroys information — in this case geometry.
You might find DeclaraCAD interesting.
ucad is based on Manifold, so unfortunately, not really comparable, since it's all meshes vs brep, like OpenSCAD.
Note KCL could be completely augmented with another kernel. There are people who've already tried :)
And they were never heard of, ever again? :-)
I read through the ucad website and book for 10 minutes and haven't been able to figure out if there is an analogue to this for ucad?
There are several things that look neat about ucad's language, but I would need to recreate something like openscad's workflow to consider switching.
I'm not sure if it's on par with what you want, though.
In other words it renders the cylinders cubes spheres etc and their unions differences etc, to a 2d screen without actually calculating the intersection of those meshes / solids in 3d space.
This is the special thing about OpenSCAD design is they figured out how to build an abstract syntax tree that could either be sent to OpenCSG, CGAL (old engine), Manifold (new engine), or even the bare bones 'ThrownTogether' renderer (ancient engine on machines with no gpu that just draws 'negatives' as green blobs iirc).
It should be theoretically possible for any CAD program to do this. its just a lot of work.
Mostly.
I've still had several instances when drawing curved solids that the OpenCSG renderer worked well with (visually) but when it came to render-time, there was something wrong. It is very hard to debug things, or at least I found it so, when it goes wrong like that.
Also, fillets are made using the Minkowski operation, which is super slow.
they got a grant for that. i couldn't find an english version though, sorry.
Even freecad, a UI-based oss cad, is not quite ergonomic for a beginner-to-intermediate user, though it has come a long way in the past few years.
I'm excited for there to eventually be a good open source cad option, whether language-only or language-plus-GUI, but am also increasingly on team 'tools matter for your productivity'.
The awful thing about OpenSCAD is that one's ability to model in it is strongly bounded by one's fluency with mathematics and ability to use math to programmatically model objects using cubes, cylinders, cones, and spheres by placing, stretching, and rotating them.
The one tool I'm aware of which is looking at a new geometry kernel which I can recall is:
openscad in general is quite easy if you can functionally program
OpenSCAD in a FreeCAD context does address many of the limitations of OpenSCAD, but it's not perfectly compatible.
I recently happened upon a video which mostly changed my mind [0], in which someone successfully passed a Solidworks professional certification using FreeCAD. And to my eyes, their workflow was only rarely any worse than e.g. Fusion360, Solidworks, etc.
I've since been trialling FreeCAd via the 'bleeding edge' weekly development builds [1]... and it's not perfect, and it's a touch clunky in certain areas, but it's now more than usable. (In some areas, it's actually better than the competition I've tried, IMO - for example making and cutting threads.)
[0] https://www.youtube.com/watch?v=VEfNRST_3x8 [1] https://github.com/FreeCAD/FreeCAD/releases
I don't think FreeCAD is perfect, but I do think it's remarkable we have it at all.
Lots changed since 2020 in the current 1.0.2 release, including TNP mitigations and the core assembly workbench.
The 1.1 developer release (which is stable and useful and getting quite close to final release) contains further TNP mitigations; further improvements to the core assembly workbench; radically better lighting; datums have moved into the core; there's a way of enabling the advanced attachment mode in Part Design; compound body support in Part Design by default; significant comfort improvements in Sketcher, transparent previews, dragger gadgets and improved pattern tools in Part Design; support for external intersection geometry, Qt6 GUI improvements; lots of improvements to the Preferences panels, and that's before looking at FEM, BIM and CAM.
Oh and the Ondsel stuff — the web sharing service, its plugin and its headless worker support — is also under the control of the FreeCAD project, free of its AWS dependencies and being actively maintained.
It's still idiosyncratic but it goes way, way beyond looks. There was a big hump to get over between 0.21 and 1.0, re-engineering RealThunder's TNP mitigations to be more practical and adding the core Assembly workbench, but there's been enormous progress since.
HN's negativity around FreeCAD no longer astonishes me because I think HNers in general have a rather misbegotten sense of what GUI CAD even is, what its strengths are instead of just its weaknesses, and how much of a challenge something with FreeCAD's scope really is. I mean Dune3D is interesting but frustrating still, SALOME is interesting but has huge money behind it; FreeCAD is the sort of hard-won, low-governance, pure-open-source-no-corporate-bullshit project HNers should prefer. Is it the equal of commercial CAD packages? No it's not. It's a different beast and an absolute social good.
I've recently started to change that opinion; using the build I linked above, it's now pretty usable and competitive/usable for a hobbyist. I'm now considering it my first-line CAD package (until proven otherwise!)
Then I tweak a dimension, model flags an error, I select "recompute object" and it's fine. No geometry errors detected at any point. Presumably FreeCAD is recomputing the object when I'm updating the dimensions, so why does a manual recomputation fix the problem but the automatic one doesn't? Overall FreeCAD is pretty good, but I have yet to do a FreeCAD project where I don't run into something weird like this that I have to suffer through or work around.
FreeCAD had an additional problem that OpenCascade doesn't maintain any naming across its interfaces at all, which is what RealThunder's geometry naming scheme, that mainline FreeCAD now uses, largely solved. But his fork still has issues too.
Is DynamicData still properly supported in 1.x? Looks like it might be. Never really used it; I use a minimal mix of Spreadsheet (mostly for Configuration Tables) and VarSets.
As to problems: the main issue with FreeCAD as with all really complex packages is that it's impossible to diagnose a problem from a description that short; you pretty much always need the file to know what is actually causing the problem, because it's full of subtleties.
(as https://machineblocks.com/docs/scad-crash-course-101 does)
I think it's called BIM, which tells you how well-informed on the subject I am (not).
Can imagine more and more forms being built in as the community goes.
kudos!
This site sucks. Why does it use php, and why is every link a query? Just make it a static page.
>brx_pyuqqz
That's certainly an array name.
https://docs.microcad.xyz/language/book/intro/preface.html
>While OpenSCAD is easy to learn and has a syntax reminiscent of C, we felt the language could be improved in several ways:
> - more specialization for creating graphics,
> - better support for modular programming,
> - strict typing and unit handling,
> - a syntax closer to Rust than to C,
> - a solid library system,
> - plugin support for other programming languages,
> - and a more powerful visualization concept.
Last week at the hackspace someone asked me to quickly design a manifold which holds together a scuba mouth piece, a 48mm diameter valve and a nato 40mm screw fitting. They wanted to minimise the internal tidal volume of the manifold, while keeping enough clearance for the tubes connected to it. We ended up connecting the 3 fittings in a Y-shape and lofted the pipes together. Without seeing the resulting shape I can’t even start to guess how many edges it would have. And I have no idea how I would refer to which edges i want filleted. How would you approach something like that with your prefered method?
I'm not a CAD professional, I can't seem to find the time to watch hours of video to get the basics down. With code based CAD, the way to start is usually obvious. When I run into a blocker, I search online, find examples, and try them out. Then, crucially, I copy and paste code snippets into my design, and modify them, to solve my problem.
In a GUI cad tool, I find that I spend most of my time hunting for buttons in the UI, often finding UI layout discrepancies between my version and whatever video I found.
In code, I do have to repeatedly solve little trig or geometry problems, and I'm always aware that a constraint based GUI tool would eliminate that completely. But I always know that I can just spend five minutes with pencil and paper and get it done, whereas switching to fusion means adding an hour or more of work to multiple designs.
I really want to design more effectively, with better fillet flexibility. But for my simple tasks, the barrier to becoming productive in a GUI is just too high.
I believe the "command palette" in e.g. VS code solves this well, perhaps a GUI cad with that would be workable for me.
Maybe what would really help me, is a larger more complex project which I can develop over a longer time in fusion while I learn to use it. Too bad I don't have anything that naturally fits that bill.
I recommend going through some basic tutorial (written or in video form) to build a simple part. The tutorial should teach view navigation, drawing and constraining a sketch, extruding or rotating it to create a 3D body, modifiying that with chamfers / fillets, creating sketches on top of that to add or cut away parts, add holes, create patterns from features. I don't think you need to learn surface modeling at this point. After that you should be good to go on your own projects. You will still need to look up how to do something (as you do now), but that will improve quickly.
BOSL2!
Maybe this is the "everything looks like a nail" problem for programmers who have never tried CAD?
But I assume the designer spent quite a lot of time, creating this in OpenSCAD and make it customizable. He was also restricted to making shapes which are easily described in OpenSCAD, where he might have gone for a more elaborate design if it was easy to do.
CAD is already complex. Why would giving those people an extremely underpowered programming language, which makes creating even the simplest 3D models a chore, cause change in the CAD world.
I finally got it to do what I wanted.
But I’m much much faster and if didn’t have some amateur CAD experience, I don’t know I would have ever succeeded.
I have no idea if this approach might gain traction over sketch-based CAD, I doubt it; yet this approach has a strong chance of expanding the space.
Although am I the only one to notice the swastika in their logo?
I personally find it unhealthy to actively search, extend and strengthen the association of hate symbols based on vague similarity out of context. Sure remember the crimes they have done and avoid the exact specific shape, proportions, color commonly used by the hate groups, but also take context into account. Don't promote them by giving them credit for things they didn't do. Don't let the hate groups win by allowing few dozen years of years of activity destroy thousands of years of cultural and language history and future for wide category of symbols and simplest geometric patterns. Don't erase words from common language. Don't let them make your life worse by self inflicted excessive censorship. Grow the good associations not the bad ones, dilute and take away the strength from hate groups instead of letting them take away common language from you. If you look at thousand year old budhist or ancient greek stone carving which uses one of the few dozen swastika variations and think those time traveling Nazis plastering their symbols all over the place they win.
When looking at children playing with paper pinwheel, is your first thought also they must be Nazi? When you look at cardboard box with 4 flaps overlapped on top of each other do you think Nazi?
With regards to other people speculation how this happened I doubt they intentionally tried to create a swastika, it just happens naturally when you use rotational symmetry. Looking at this logo I personally see the overall cross and spinning shape formed by positive space first. The image of swastika formed by negative space is kind of weak and clunky due to thickness mismatch created by curved rhombus. If they had used 4 overlapping squares or circles it would be more problematic, at that point a logo designer would likely stop and try to mixup things to get rid of it.
Still, questionable if it was intentional .. and if it was, does not necesarrily mean they are Nazis (they did not invent, but just used the old symbol).
Also this project was funded in part by the german Federal Ministry of Research, Technology and Space and they are not known to fund open Nazis in general.
Possibly. Although I know it's the wrong way round to be a Nazi swastika, it's made all the more odd by the fact that this is a German project.