Open source CAD in the browser (Solvespace)

370 points
1/21/1970
5 days ago
by phkahler

Comments


MrDOS

SolveSpace is a wonderfully different take on parametric CAD, but development has really slowed, and it seems fundamentally incapable of some pretty rudimentary features (like chamfers[0]). Dune 3D[1] seems like a pretty effective spiritual successor.

0: https://github.com/solvespace/solvespace/issues/149

1: https://dune3d.org/

5 days ago

phkahler

Chamfers and Fillets are my next major undertaking. Don't expect them any time soon, but they've moved to the top of my list. They are extremely difficult to do in the general case - so we will not cover all cases. Several years ago I tried an experiment:

https://github.com/solvespace/solvespace/issues/453#issuecom...

That could only do the top or bottom of a straight extrusion. This time will be a more general than that. Not looking forward to doing corners where 3 fillets meet ;-)

5 days ago

MrDOS

Oh, sorry, I didn't recognize that this had been posted by a SolveSpace maintainer! Rad. I am glad to hear the project is still moving.

I also appreciate the difficulty of generalizing chamfers/fillets. There's a reason that basically all FOSS CAD packages have struggled with it.

5 days ago

echelon

> difficulty of generalizing chamfers/fillets. There's a reason that basically all FOSS CAD packages have struggled with it.

Could you decompile CAD, run it through an LLM, and call it a day?

5 days ago

yonatan8070

Aren't there licesing issues with porting a proprietary implementation into an open-source one that could open up the project to legal issues with the proprietary vendor?

5 days ago

WillAdams

The Plasticity guy seems to be threading that needle.

4 days ago

voakbasda

That might seem to be the case, right up until he gets taken to court over it.

Never presume that a thing is legal (or will not later be punished) on the basis that someone is already doing it.

4 days ago

echelon

You can't stop it. This is just progress.

All software that isn't delivered over client/server to thin clients is now subject to being trivially cloned.

4 days ago

voakbasda

That was never in question, even before AI. It just took more monkeys at typewriters.

3 days ago

mordae

Hi! Thanks for your hard work! I just want you to know it's definitely worth it!

I am using SolveSpace for my 3D prints because I just don't have time to learn anything else. With SolveSpace I've been productive in like 2 hours after launching it the first time.

So far you've saved me like $500 in things I've printed instead of bought. Just last week I've printed nasal manifold for my DIY sleep monitoring setup. Replacement specs legs a month ago.

If you really make fillets and chamfers a reality, please don't forget to open donations.

5 days ago

huslage

DIY sleep monitoring? Tell us more!

4 days ago

schiffern

  >corners where 3 fillets meet
I would imagine there are a few different possible options (preferably a settable parameter):

* Intersection. Conceptually the simplest, the chamfers would just be joined by the solid addition of all three fillet surfaces, creating three new sharp corner edges that meet at a single vertex.

* Rolling sphere. Imagine an idealized spherical "thumb" smoothing out caulk. The middle would be joined by a new spherical concave surface, tangent to all three fillets. Also generalizable to convex fillet intersections, smoothing out sharp corners.

* NURBS, with adjustable parameters or even control points, eg when you want a little more "meat" in a corners for strength of a part.

* Flat corners, for chamfers (what do do when N>3 corners meet?)

* What else?

Ideally you might be able set the corner type separately for inside vs outside corners, or on a per-vertex or (in the most granular case) per-incoming-edge basis? Is that crazy?

How do saddle corners[0] behave? Does it just "work out" and (by some miracle) uniquely resolve for all permutations and corner types?

It certainly gets complex quickly!

[0] center, where the cubes all intersect https://entitleblogdotorg3.files.wordpress.com/2015/02/esche...

4 days ago

throwup238

That’s not even the complex part. Most of what you describe is a user interface issue, not a geometric kernel issue.

The hard part of 3 corners fillets is the tolerances. Each of those fillet operations has its own compounding float errors and when they meet, the intersection is so messy that they often do not intersect at all. This breaks almost every downstream algorithm because they depend on point classification to determine whether an arbitrary point is inside the manifold, outside, or sitting on an edge or vertex.

And that description of the problem is just scratching the surface. Three corner filets create a singularity in UV space at the common vertex so even when you find a solution to the tolerance problem you still have to deal with the math breaking down and a combinatorial explosion of special cases, almost each of which has to be experimentally derived.

4 days ago

hnben

when i did openscad, i just did a minowski hull with a 4sided bipyramid (aka rotated cube) to get chamfers for my cubes.

bonus: minowski hull with a round pyramid adds chamfers in the vertical and fillets in the horizontal, which is what i want for 3d printing most of the time. additionally it closes small overhangs, and it makes fonts smoother (i.e. fonts don't extrude in a 90degree angle, and get 45degree instead, and print better on vertical faces)

disclaimer: I havent used openscad for about a year and my memory may be fuzzy

edit: i am not saying minowsky hull would directly solve your problem, but maybe the algorithm gives you inspiration to solve your numerical issues

4 days ago

throwup238

OpenSCAD is mesh based so it's not even in the same universe as a proper brep geometric kernel. Everything is easier when you give up on the math entirely, but that’s not good enough for real world manufacturing and simulation.

All of the major commercial geometric kernels have been working on these problems for thirty years and I’m sorry, but your five minutes experience with a glorified tessellator isn’t going to make progress on long standing computational geometry problems.

3 days ago

schiffern

  >that’s not good enough for real world manufacturing and simulation
Dumb question: why not?? It's working for that guy and his 3D printer apparently, which is "real world" (though one could certainly argue it's not proper "manufacturing").

In theory pi has infinite places, sure . In real-world practice (vs math-lympics) you never need more than 100 digits, and indeed you rarely ever actually need more than 5.

Why doesn't it work to "just" throw more bit-width and more polygons at it? Who out there actually needs more than that (vs who just thinks they do)?

3 hours ago

throwup238

The answer boils down to “floating point math” and “discontinuities”.

> indeed you rarely ever actually need more than 5.

That’s not how math works. With every operation the precision falls, and with floats the errors accumulate. What was five digits quickly becomes 3 digits and now you’ve got three surfaces that are supposed to, but don’t technically intersect because their compounding errors don’t overlap even though the equations that describe them are analytically exact. Modern geometric kernels have 3 to 7 tolerance expansion steps that basically brute force this issue when push comes to shove.

Once you have these discontinuities, a lot of critical math like finite element modeling completely breaks down. The math fundamentally depends on continuous functions. Like I mentioned above, three corner filets create a singularity in parametric space by default, so even the core algorithms that kernels depend on to evaluate surfaces break on a regular basis on basic every-day operations (like a box with smoothed edges - aka almost every enclosure in existence)

> Who out there actually needs more than that (vs who just thinks they do)?

I can’t stress this enough: almost everyone. CAD isn’t one of those fields where you can half ass it. Even the simplest operations are bound to create pathological and degenerate cases that have to be handled, otherwise you have a pile of useless garbage instead of a 3d model.

Slicers deal with meshes, like video game renderers, not boundary representations like CAD kernels. There is effectively zero overlap. Even just tessellation, the step that converts brep to mesh, is significantly harder than anything 3d printing software has to do.

an hour ago

ruevs

Join SolveSpace development? ;-)

4 days ago

schiffern

This is why geometric kernels are the gateway to madness. ;) Thanks for the clarification.

4 days ago

julbaxter

Dune3D uses SolveSpace behind the scene.

5 days ago

phkahler

Only for the constraint solver. Dune uses OCCT for the solid model.

5 days ago

amelius

I'm curious why you didn't go with OCCT for Solvespace.

5 days ago

phkahler

>> I'm curious why you didn't go with OCCT for Solvespace.

I didn't start Solvespace, but Jonathan was apparently in a DIY mode after developing his take on constraint-based sketching. It's also very easy to go from NURBS curves to NURBS surfaces, the challenge begins at boolean operations which continue to be a source of bugs for us. This is really the only option other than OCCT and the code is small and approachable so I try to make it better.

5 days ago

jwesthues

Yeah. To quantify, OCCT is >1M lines of code, and SolveSpace's NURBS kernel is <10k. This general smallness is what subsequently made stuff like the browser target feasible, though it obviously comes with downsides too.

We'd welcome contributions, and it's much easier to contribute to the smaller codebase. I think there's potential for coding agents to accelerate this work since robust point-in-shell and shell-is-watertight tests are mostly sufficient to judge correctness, allowing the agent to iterate; loosely you could define your geometric operation as a function of whether a point should lie within the output region, then ask the agent to convert that to b-rep. I wouldn't currently expect useful progress without deep human effort and understanding though.

5 days ago

amelius

Would it be worthwhile to consider switching to OCCT (or make it optional)? It would make certain things such as fillets/chamfers much easier, I suppose, and it would make those boolean operation bugs go away. And exporting to various formats would be easy.

5 days ago

phkahler

>> Would it be worthwhile to consider switching to OCCT

It would, and it has been considered. The sketch elements in solvespace are significantly decoupled from the solid model. That means we could substitute (via wrapper maybe) an OCCT object instead of our SShell class. Then you'd have to change a set of solvespace curves to OCCT curves to make extrusions from them and such. But that would be most of the work.

We do tag all triangles in the mesh with a sketch entity handle for flat surfaces so you can constrain points to a face. I'm not sure how that would be handled. We will also be tagging edges of the solid with sketch entity handles in the future so we can do chamfers and fillets - say by selecting a line entity and applying a modifier to it which gets applied to the NURBS shell. I'm not sure how that would go with OCCT.

But yes I've given a bit of thought to it ;-)

5 days ago

amelius

Perhaps you could create both the shell and the OCCT object. Then when an edge is chamfered, you could look it up in the OCCT object (simply find all segments which are sufficiently close to the chamfered edge). And then call the OCCT chamfer function. Or something along those lines.

5 days ago

phkahler

Oh, and the Blender CAD Sketcher add-on also uses our constraint solver.

5 days ago

IshKebab

FreeCAD doesn't have the limitations of SolveSpace, and the UX is actually decent now. I moved to that.

5 days ago

jonpurdy

I’m looking for a recommendation to get beyond TinkerCAD (for 3d printing). I learned it in 2019 and came back in 2025 when I got my own printer. It is comfortable and fine for my purposes but lacks basic things like chamfer and fillets.

Anytime I try to jump into Fusion or FreeCAD I immediately hit a wall (like trying pirated Maya when I was a kid).

5 days ago

vonnieda

Try FreeCAD one more time, if you haven't tried 1.0+, and it might stick. I've finally, in the past 6 months moved all my work to FreeCAD and KiCad after trying both many times over the past decades.

I highly recommend watching one of MangoJelly's beginner videos for FreeCAD, even if you have CAD experience. It made it very clear how to adapt my Fusion360 skills.

4 days ago

bruckie

OnShape is pretty approachable, and has lots of good tutorial videos. They offer free accounts for non-commercial use with the caveat that all of your documents must be public.

If you haven't tried FreeCAD recently, it's gotten a lot better in the past couple of years. It seems to have hit escape velocity, so to speak, and is improving rapidly in a way it hadn't for a long time.

4 days ago

jijijijij

> They offer free accounts for non-commercial use with the caveat that all of your documents must be public.

Major caveat! Also online access required.

And if you decide to upgrade, the next tier is 1,410€ per year.

For that amount of cash, FreeCAD can abuse and torture me quite a bit. Lol.

Also at the rate FreeCAD is developing and improving now, if more people would drop just 1k€/ donations into FreeCAD/OCCT, chances are your pains will ease rather sooner than later.

4 days ago

Oxodao

I'm not spending weeks to learn a proprietary, online-only software that will lock me out as soon as they need more money. Been burnt before on those kind of stuff

3 days ago

IshKebab

I would recommend pirating SOLIDWORKS and learning with that. It has the easiest UX of the parametric CAD modellers, and once you know the general sketch-extrude methodology you will find the others a lot easier.

Actually I think they have a hobbyist subscription which isn't totally extortionate now if you want to stay legal. Maybe get it for a year.

5 days ago

WillAdams

The new 1.1 update seems markedly easier to use.

There's also a soft-fork which some folks are funding:

https://www.astocad.com/

4 days ago

poulpy123

You may try onshape that is supposed to have a better accessibility than fusion 360, but unfortunately it doesn't seem that a CAD software with a complexity intermediate between tinkerCAD and FreeCAD an dthe pro CAD software exists

4 days ago

jabl

Some years ago I tried to learn CAD by doing some FreeCAD tutorials, and failed. But I hear 1.0 was a big step forward, and the recently released 1.1 is also a big step, and it should be somewhat decent nowadays. Maybe I need to try again one day.

5 days ago

IshKebab

Yeah it's vastly better in 1.0 than it used to be. I still think you might be a bit lost if you aren't familiar with parametric CAD, but it's no harder than Blender for example.

5 days ago

l-albertovich

I just tested it out of curiosity and found that viewport manipulation behaves in a very similar way to onshape which feels very natural to me.

I've been thinking about trying to implement this in freecad but I'm still exploring the idea.

5 days ago

Karliss

There are more than dozen different viewport navigation manipulation modes, latest version added two more (Solidworks and Siemens NX). You can pick whichever behaves closest to the program you are most used to.

5 days ago

l-albertovich

Yeah, I tried all of them with all the combinations of presets and orbit styles and the closest I could get was using tinkercad but couldn't match the orbit style correctly.

2 days ago

brcmthrowaway

How does Dune3D compare to FreeCAD?

5 days ago

phkahler

>> How does Dune3D compare to FreeCAD?

Dune3D is more like Solvespace with a few improvements and bug fixes vs being anywhere near FreeCAD in terms of capability. Improvements include using STEP files in assemblies and having some ability to make Fillets or Chamfers. Bugs fixes would be due to using OCCT for NURBS surfaces - solvespace frequently fails with NURBS boolean operations.

As for overall capability, FreeCAD does everything these others do but also supports lofting and other modeling options, BIM for architecture, I think it does pre- and post- processing for FEA, and maybe some other "big tool" things.

5 days ago

mordae

It takes 10× as long to sketch in it compared to SolveSpace. At least for me.

5 days ago

faangguyindia

All we need is a genius, with unlimited claude and codex credit and he will replace Fusion 360 atleast in 3d printing and machining space

It's so sad most guys aren't comming together to build some great CAD engine which open source really needs!

Gimp is shame, photoshop is increasingly being lockdown and people who have smarts to fix that are doing nothing.

5 days ago

ezst

That people on this forum convinced themselves that it's a reasonable take to vibe code a useful geometric kernel is profoundly depressing.

5 days ago

progbits

Indeed. I would love for it to be true, but aside from opencascade^1 all the professional kernels are proprietary and not in the training set, so LLMs can't just regurgitate them.

^1: Which I really appreciate, but let's be real, it is far behind eg. parasolid.

5 days ago

stackedinserter

Correct me if I'm wrong, kernel is already there, and it's decent enough. What's lacking is a good user interface to it.

5 days ago

progbits

FreeCAD is perfectly good user interface for opencascade. The problem is that as your geometry gets more complicated you start running into the kernel limitations.

5 days ago

[deleted]
5 days ago

faangguyindia

Just wait for sometime, there will be one.

There are many geniuses on HN for tacking up challenge

5 days ago

WillAdams

Vibe coding only seems to work, insofar as it does when the training data includes multiple exemplars of solutions to a given problem.

As noted elsethread, there's only one geometric kernel which is decently far along and opensource and it's over 1 million LOC --- I doubt it's being included in any training data, and I doubt that an LLM could regurgitate such a large project which would then compile w/o errors and then work as expected --- the number of tokens required to get such a project to an initial state is a marked hurdle as well.

4 days ago

fainpul

So you think AI can do this – why exactly is a genius needed?

5 days ago

faangguyindia

genius is needed in pilot seat to guide AI :)

4 days ago

[deleted]
5 days ago

somat

I love solvespace, it is hard to describe but despite it's limitations and problems (and there are many) it feels joyous to use if that makes sense. Something about it's simple and straightforward interface just makes it fun. To the point that my biggest gripe is the modal dialogs that pop when a constraint is deleted or it's conditions cannot be met. It is quite awkward compared to the rest of the workflow.

Anyhow, salutes to the author of this web port, very slick.

5 days ago

phkahler

>> Anyhow, salutes to the author of this web port, very slick

That credit goes to whitequark, who quit solvespace maintainership in 2020. The branch lingered and suffered some bit-rot. Then a couple people brought it up to date and fixed a few issues. It seemed like a good idea to merge it to prevent it falling behind even though its not quite up to par with desktop. With the newest release we also opted to put this right on the site (even merged a PR today as a result).

Anyway we owe whitequark most the credit for this one even though we havent heard from her in several years.

4 days ago

masonhensley

I've been using FreeCad more and more, but solvespace has been a great, lightweight tool to design parts for laser cutting by SendCutSend/Oshcut.

Neat that they got it working in the browser.

5 days ago

bhouston

FreeCAD is amazing these days. It has completely replaced my use of Autodesk Fusion 360 for woodworking projects. It is capable and the UI is understandable. Its feature depth is incredible.

FreeCAD is becoming like Blender and Inkspace - incredibly robust and capable and equivalent in most cases to the commercial alternatives.

I find the rendering side of things under developed though.

5 days ago

ur-whale

> FreeCAD is amazing these days.

FreeCAD has become much better, no denying it.

"Amazing" is however not the word I would use though, the UI is still very convoluted and very hard to learn.

The worst part in FreeCAD, and which remains true to this day is the load of minutia you need to know to handle/avoid weird corner cases that you inevitable run into when you start building complex models and where FreeCAD stubbornly refuses to let you carry on with your work.

When you paint yourself into one of these corners, the software is hugely unhelpful when it comes to understanding what you did wrong and how to correct it.

In short, the word "Amazing" only works if you compare it to the absolute abomination the UI was a few years back.

But compare FreeCAD today to, for example, how slick Fusion is, there is still a very, very wide gap.

Finally, the geometry engine, is a somewhat old and creaky thing that sometimes downright fails to compute fillets or surface/surface intersections correctly, so yeah, YMMV.

FreeCAD is however, free software, and not controlled by one of the worst corp. in the world of software: Autodesk. So huge thumbs up there.

5 days ago

trey-jones

This is really accurate to my experience learning FreeCAD earlier this year. I am a former professional CAD user (of a lesser software than AutoCAD) and I don't think I would have gotten far without being able to ask ChatGPT for help understanding some of the quirks of FreeCAD.

For free and open it's truly impressive though. Actually I think my time building iOS UIs in Storyboard was at least as useful as previous CAD experience, since constraints are the foundation of (at least one approach to) designing parts.

5 days ago

ruevs

The last Autodesk software I've used was AutoCAD 2000 (released in 1999). And I've not followed them since.

Perhaps they have indeed become "one of the worst corp. in the world of software", but in the early years they were very interesting. The founder of Autodesk, John Walker (he died in 2024) wrote/edited and interesting book on the early years: "The Autodesk File" https://fourmilab.ch/autofile/

5 days ago

WillAdams

Yeah, and then ran away to Switzerland rather than work to preserve the democracy which made his fortune possible.

4 days ago

ruevs

By the way this creation of his, from July 1990: https://www.fourmilab.ch/evilempire/ is very relevant here, but we are getting off-topic :-)

SpeakFreely was his as well - a very early encrypted, VoIP app.

And this: https://www.fourmilab.ch/hackdiet/ ... As I said - an interesting person :-)

4 days ago

hollerith

That is more of an indictment of the US than it is of Mr Walker. Maybe I should run away to Switzerland, too.

4 days ago

ruevs

Is this critique or praise of his character? ;-)

4 days ago

WillAdams

Statement of fact with my interpretation --- folks should verify the fact and read what he has written and come to their own conclusions.

While I'm grateful Autodesk stepped in and kept TinkerCAD afloat, I'm relieved Sketchbook escaped their clutches, and am glad I never got involved in Fusion 360 so as to suffer from their on-going "rug pulls" --- which of these are a result of his influence, I've not found a need to discern.

4 days ago

jstanley

The word "amazing" fits perfectly if you compare FreeCAD to viable alternatives, of which there are none.

5 days ago

blacklion

I nominate Adobe to the worst corp. in the world of software.

Fusion360 at least works on Linux

Photoshop/Lightroom don't.

5 days ago

lopsotronic

Yeah anything involving 2d art I confess I just send to Blender, even technical illustration, with the exception of O&D style sheets.

The fact anyone got a CAD kernel working in the browser is insane. Parsing the vagaries, vendor cruft, and gaping holes in STEP files has occupied a non-trivial amount of my career.

You want to talk about poisoned specs . . .

5 days ago

3yr-i-frew-up

Yep, love FreeCAD.

I did a major project with it in 2019 and it was great back then.

The issues it has are pretty minor. Admittedly I ended up using a fork for Assembly3(IIRC)

5 days ago

hrmtst93837

[flagged]

5 days ago

olavgg

I just started with FreeCAD this weekend, and in 3 hours I managed to create a simple pci bracket that I could 3dprint. I just followed some YouTube tutorials. When I learned 3D Studio Max 25 years ago, I struggled a lot more.

5 days ago

ecto

Here's my take on CAD in the browser! https://vcad.io

I implemented a full kernel in rust and compile it to wasm https://github.com/ecto/vcad

5 days ago

throwup238

What strategy are you using for tolerances, compounding errors, and the nuances of floating point math?

4 days ago

marshray

5 days ago

[deleted]
4 days ago

coderenegade

Does this use a boundary representation for the geometry?

5 days ago

latand6

So I can ask an LLM to write rust code to generate CAD designs???

5 days ago

phkahler

Does that handle NURBS? It says STEP import, but not export?

5 days ago

JoshTriplett

Impressive work!

Minor nit: why does the rendered in-window text use a really awful pixelated font? It looks like what happens when a font gets rendered onto a pixel grid without any hinting or snapping.

5 days ago

phkahler

It uses GNU unifont, which is a bitmap font. There could be a bug causing the text to get stretched a little - we had that on Windows prior to this release.

5 days ago

dfox

It uses exactly the same font in the desktop version, and is probably entirely intentional.

5 days ago

ruevs

Intentional indeed. It is GNU Unifont - a 973KiB file that covers practically all of Unicode. In a bitmap font, platform independent, self contained, small. Practically all that SolveSpace strives to be.

https://www.unifoundry.com/unifont/index.html

Perhaps I've been using computers for too long but I actually like the non anti-aliased "sharp" and "pixely" look :-)

5 days ago

JoshTriplett

Pixelated can sometimes look okay on screens it was designed for. But I think the pixelated look improves with hinting that helps snap it to stroke widths, rather than randomly jumping between 1 and 2 pixels depending on how it happened to line up with the pixel grid.

This is what it looks like on my screen: https://imgur.com/a/YeAdiXC

A good pixel font would be a vast improvement over this, though I'd still prefer something that scales well (and respects the DPI of my screen, and isn't too small compared to the menu font...).

5 days ago

ruevs

Oh! This is very bad! It should not look like this.

I've tried Firefox, Chrome and Edge on Windows; Firefox and Chrome an Android phone and tablet and it renders correctly - like the desktop version.

What browser are you using? On what OS? Perhaps the web page is zoomed in/out in the browser? Scaling options in the browser? HiDPI screen with scaling?

Would you be willing to open an issue on GitHub with the details? Or just post them here.

5 days ago

JoshTriplett

Firefox, on Linux. Though I'd be genuinely surprised to hear the issue with scaling worked differently elsewhere.

Firefox is scaling its base size based on the screen, and then the page is scaled up further from there to have a readable font size. My base is 150% scaling, but the UI has comparably uneven strokes at many different scales and page sizes. (The strokes get less uneven the bigger they are, since at larger sizes there are more pixels to work with.)

Easy way to compare font scaling quality: At any scale, hitting one of the "change" links in the configuration menu brings up a browser UI element, using a font that looks great at any size.

Happy to file a report with the details.

4 days ago

phkahler

Even the desktop version sometimes. If I open on one monitor and move to another with different scale factor. It seems Windows lies about window resolution.

5 days ago

JoshTriplett

I assumed it likely looked like the desktop version, and that was exactly what was motivating my question.

5 days ago

gouggoug

I recently got into 3D printing and, of course, after seeing countless ads on YouTube for OnShape, that was my first choice.

Anyone having used both can share their thoughts about how solvespace and OnShape compare?

On my end I’ve been loving OnShape and find it pretty intuitive. I also tried fusion360 but closed it after 5 minutes, it felt too sluggish.

4 days ago

__natty__

Looking at stream events, the event type is so long and often repeated for each event with little extra payload it could be potentially easy win for Anthropic to optimize system bandwidth by using shorthands.

> {"type":"content_block_delta","delta":{"text":" search"}}

4 days ago

contingencies

Ahh, but can it do a clean self-reversing diamond thread including the reversing portion?

See https://news.ycombinator.com/item?id=47580583

5 days ago

ruevs

Had to Google this one :-)

Since SolveSpace has a helix tool that can "extrude" any sketch along a helix it should be doable.

5 days ago

phkahler

After looking at some videos of what this even is, I'd say it can do it but will likely fail on the boolean operation where the two spirals intersect. It might work fine but it's an operation likely to trigger a bug, and it would be sensitive to the exact placement/pitch of everything. Having said that, using the "force to triangle mesh" option solvespace will probably work fine. That should be sufficient for the home 3D printing crowd to make some fun stuff, but you won't be able to save a STEP file then. Just my guess as to how this might go.

4 days ago

contingencies

Thanks for sharing your insight.

4 days ago

contingencies

Perhaps if the author makes a demo it would be a good showcase for how much better it is than the other open source tools!

5 days ago

GorbachevyChase

I’ve wondered how feasible it would be to start building browser-based CAD/design products to replace our expensive and poorly supported paid plugins and niche products. Seems promising!

5 days ago

ponyous

Does this use its own backend/engine? I've been working on LLM to CAD tool[0] and have realised there are so many backends and options to choose from. Since the realisation I'm trying to find the best representation for an LLM. I think OpenSCAD is currently the best and most feature complete choice, but I definitely need to dig a bit deeper. If anyone has any pointers I welcome them!

[0]: https://GrandpaCAD.com

5 days ago

ur-whale

> I think OpenSCAD is currently the best and most feature complete choice

As much as I love OpenSCAD, I would strongly disagree with your conclusion.

All the OpenSCAD language can do is boolean operations and moreover, the engine can only implement those on polygonal (triangle actually) meshes.

That's a very far cry from what a modern commercial CAD engine can do.

For example, the following things are very, very hard to do, or even specify using OpenScad:

   - Smooth surfaces, especially spline-based

   - Fillets / Chamfers between two arbitrary surfaces

   - Trimming surfaces

   - Querying partly built models and using the outcome in the subsequent construction (e.g. find the shortest segment between two smooth surfaces, building a cylinder around it and filleting it with the two surfaces, this is an effing nightmare to do within the confines of OpenSCAD)

   - Last but not least: there is no native constraint solver in OpenSCAD, neither in the language nor in the engine (unlike - say - SolveSpace)
I might have misunderstood what you're looking to do, but, yeah, digging deeper feels very much like the right thing to do.
5 days ago

FeepingCreature

(my) fncad doesn't have the querying, but it does have smooth csg! https://fncad.github.io/

5 days ago

Zekio

using BOSL2 alleviates most issues I've run into with OpenScad for chamfers and the like, but it is an extra set of functions you need to remember sadly

https://github.com/BelfrySCAD/BOSL2

5 days ago

ur-whale

> BOSL2 ... but it is an extra set of functions you need to remember sadly

It's also extremely slow: it implements chamfers and fillets using morpho, and if you have a large number of fillets, the morpho algorithms (minkowski / hull) are very much non linear in time on polygonal meshes, which leads to compute time explosion if you want a visually smooth result.

5 days ago

Zekio

you can get around this somewhat by having less visually smooth previews when editing and higher quality when you want an stl

  $fn = $preview ? 32 : 256;
5 days ago

hrmtst93837

[flagged]

5 days ago

markcheno

I just ran into this today: https://github.com/gumyr/build123d - seems like an LLM should have no problem writing python code...

5 days ago

WillAdams

4 days ago

IshKebab

Yeah it does. In fact I believe it was written to demonstrate improved sketch constraint solving (there's a 2D version too).

Unfortunately aside from the better sketching the engine is not as capable as OpenCascade.

5 days ago

yangcheng

I have tried OpenSCAD, it seems very slow to compile to display on web. are you using the official wasm or some other ways?

5 days ago

mikeayles

you may find this useful: https://phaestus.app/blog/blog0031

Edit: Forgot I also got doom running in openscad: https://www.mikeayles.com/blog/openscad-doom/

and doom running in openscad in the browser at https://doom.mikeayles.com/

5 days ago

ponyous

I export it as .3mf file and display it with threejs on the web. Compilation seemed fast enough - few seconds tops.

5 days ago

steveharing1

Currently I'm comfortable using FreeCAD but i'll try this one for sure.

5 days ago

TheJoeMan

I scrolled with the mouse wheel and the origin drifts off screen.

Is there an open-source "cleanroom" re-implementation of the Parasolid kernel? I just like the way Solidworks does things vs. Autodesk.

5 days ago

gcr

The mouse wheel zooms. The bounds of the axis stay fixed on the screen however. It will become more intuitive if you draw a circle to the screen first.

To pan around the space, use the right mouse button. To zoom, use the scroll wheel. To rotate, use Shift+Right mouse button.

Why not play with it a little bit before dismissing it so suddenly? I don't need to mention to a Solidworks/Autodesk user that CAD tools take some patience to understand properly :-)

5 days ago

phkahler

>> To rotate, use Shift+Right mouse button.

Or middle mouse button / click the scroll wheel.

5 days ago

ruevs

If you get lost press `f` to "fit" the current drawing to the screen.

By the way working in SolveSpace is extremely fast if you use keyboard shortcuts - almost everything can be dome with a shortcut key. No need to search for them - you can learn them by looking in the menus.

A very short "crash course" on the navigation is in the "Quick start:" section at the bottom of the download page. https://solvespace.com/download.pl The "demo video" on the home page is also a great starting point.

After that the "Tutorials" and "Reference" go in as much detail as one may want :-)

5 days ago

phcreery

This is expected behavior. The zoom action is into the cursor center. This is the same behavior of many other 2d/3d editors, such as Autodesk Autocad, Inventor, etc. Even MS Paint does this. If you place your cursor perfectly at the origin, it will not appear to drift.

5 days ago

ruevs

One more fun fact:

SolveSpace officially is supported on Windows (Vista-11), Linux and macOS, and compiles with Emscripten and runs in a browser.

However with a little effort it also compiles for and runs on Windows 2000.

https://github.com/solvespace/solvespace/issues/1036#issueco...

So it runs on all the majour platforms from the last 26 years (excluding MacOS 9).

4 days ago

ruevs

One more fun fact:

SolveSpace officially is supported on Windows (Vista-11), Linux and macOS, and compiles with Emscripten and runs in a browser.

However with a little effort it also compiles for and runs on Windows 2000.

https://github.com/solvespace/solvespace/issues/1036#issueco...

So it runs on all the majour platforms from the last 26 years (excluding MacOS 9).

4 days ago

henrebotha

So stoked to see the movement on this project. Once lofts are possible, it'll be so over for FreeCAD

5 days ago

jLaForest

Chambers aren't available so I wouldn't hold you breath waiting for lofts

5 days ago

4gotunameagain

Just curious, why are you so excited for the demise of FreeCAD ?

Has worked quite okay for me thus far for semi professional & hobby projects

5 days ago

landsman

Impressive

4 days ago

Jaco07

[flagged]

5 days ago

Chilko

This comment gives astroturfing vibes, like an LLM optimised version of masonhensley's comment: https://news.ycombinator.com/item?id=47587834

5 days ago

fps-hero

Or simply that Solvespace is a fantastic tool for 2D work? The sketcher is amazing and it has a straight forward workflow for laser cutting. Draw your panel, export to SVG, adjust in Inkscape (cut lines, etches, fills), send to cutter. I'd argue Solvespace is the best free and open source tool for the purpose.

This is exactly what I use it for and I love it. I even use it for front panel decals, not just the laser cut panels. Something about laying out graphics using a CAD tool is really appealing. I need the dimensions tools! I struggle getting things accurately placed using Inkscape.

Another 2D use case is a simple parametric sketch pad. If I need to draw something up quickly and pull measurements, this is the tool I'm reaching for.

It falls down a bit in 3D because unless you're making a very straight forward blocky shape, it's either too cumbersome, or literally impossible to make the geometry you need. If the geometry could be made on a 3-axis CNC, Solvespace should be capable of making it. Anything else, I'm reaching for Fusion360. I've been meaning to give Freecad another crack as the UX seems to finally be getting some priority.

5 days ago

masonhensley

Oh weird. I definitely did not do this for the record.

4 days ago

mclau153

onShape does this already

5 days ago

ruevs

But does it run etirely locally in the browser after downloading a total of 2993991 bytes (less than 3 megabytes) of code? ;-)

5 days ago

phkahler

Local storage too. We don't want your data.

That 3MB also includes gnu unifont, the builtin vector font, and the 3js viewer for when you export models to html (viewer gets bundled in the file)

5 days ago

ruevs

GNU Unifont is 973KiB, and we also have the vector font unicode.lff.gz at 1.03MB.

So the web version of SolveSpace is literally one megabyte of WebAssembly.

4 days ago

maxglute

Reminds me of installing Autocad from 1 x 5.25 floppy.

4 days ago

mandarwagh

Crazy

5 days ago