Open source CAD in the browser (Solvespace)

(solvespace.com)

108 points | by phkahler 3 hours ago

7 comments

  • MrDOS 1 hour ago
    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/

    • phkahler 42 minutes ago
      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 ;-)

    • julbaxter 1 hour ago
      Dune3D uses SolveSpace behind the scene.
      • phkahler 42 minutes ago
        Only for the constraint solver. Dune uses OCCT for the solid model.
        • amelius 25 minutes ago
          I'm curious why you didn't go with OCCT for Solvespace.
    • IshKebab 47 minutes ago
      FreeCAD doesn't have the limitations of SolveSpace, and the UX is actually decent now. I moved to that.
      • l-albertovich 28 minutes ago
        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.

  • masonhensley 1 hour ago
    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.

    • bhouston 1 hour ago
      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.

      • 3yr-i-frew-up 20 minutes ago
        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)

      • lopsotronic 1 hour ago
        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 . . .

      • ur-whale 1 hour ago
        > 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.

        • trey-jones 15 minutes ago
          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.

        • jstanley 36 minutes ago
          The word "amazing" fits perfectly if you compare FreeCAD to viable alternatives, of which there are none.
  • JoshTriplett 1 hour ago
    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.

    • phkahler 39 minutes ago
      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.
    • dfox 1 hour ago
      It uses exactly the same font in the desktop version, and is probably entirely intentional.
      • JoshTriplett 43 minutes ago
        I assumed it likely looked like the desktop version, and that was exactly what was motivating my question.
  • ponyous 1 hour ago
    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

    • yangcheng 1 hour ago
      I have tried OpenSCAD, it seems very slow to compile to display on web. are you using the official wasm or some other ways?
    • ur-whale 1 hour ago
      > 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.
    • IshKebab 46 minutes ago
      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.

  • steveharing1 1 hour ago
    Currently I'm comfortable using FreeCAD but i'll try this one for sure.
  • TheJoeMan 1 hour ago
    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.

    • gcr 1 hour ago
      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 :-)

      • phkahler 37 minutes ago
        >> To rotate, use Shift+Right mouse button.

        Or middle mouse button / click the scroll wheel.

    • phcreery 1 hour ago
      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.
  • mandarwagh 1 hour ago
    Crazy