FreeCAD Vs SolveSpace

When you are ready to design real things, you’ll find simple CAD programs can be pretty limiting. Serious modern designs tend to use parametric modeling where you don’t necessarily set dimensions and positions of everything but instead constrain the design by describing the relationship between different elements. For example, you can create a vertical line and constrain other lines to be parallel, perpendicular, or form a given angle with that line. There are many tools that can do that, including FreeCAD and SolveSpace, two programs that [Joko Engineeringhelp] uses to create a complex compressor blade and it really shows the differences and similarities between the two tools.

You probably don’t need this particular design, but watching over someone’s shoulder while they do a complex design can be very valuable. Being able to see the differences between the two tools might convince you to learn one or the other or maybe even switch.

Our choice? We often use FreeCAD although we like how SolveSpace handles certain things. We haven’t used it as much, though, and FreeCAD integrates nicely with OpenSCAD which we use a lot, too. So, generally, we reach for FreeCAD but it is mostly because of habit. Both tools have a lot of great features.

We’ve looked at SolveSpace before. And we’ve talked a lot about FreeCAD, too. What’s your pick?

59 thoughts on “FreeCAD Vs SolveSpace

    1. Personally, I expect Fusion 360 being popular enough to drive many FOSS software up, and have these rivalling with Fusion. Competition is good in this domain.

      The Fusion 360 business and licensing model with ties in the cloud, recurrent monthly/yearly costs, and closed-source is a big no-go (for me)

  1. What makes me ragequit FreeCAD every time after a few hours is the amount of bugs, some major like an Undo breaking the whole feature tree and hopefully you saved recently enough, some annoying like a Dimension that comes out at a weird angle with a weird font size. Then I go into the forum rabbit hole sorting through replies like “works for me” and “patches welcome”. I haven’t mustered the time to try SolveSpace yet.

    1. Same general experience. I use FreeCAD for everything I model, and it works 98% of the time, but that other 2% can be just brutal. Still, it’s been extremely useful.

    2. Sometimes when I launch free cad on macos all of the toolbars are missing. What’s up with that?

      I ended up building a Linux docker image that I RDP into. That’s been way more stable.

      1. I do real work with FreeCAD. I have for years. And I’ve been using 0.19 for a year now exclusively. I’ve settled on my workflow, configured the workbenches I use and proceed. I use mostly Part Design, some Part (when needed), Assembly4, KiCAD integration, TechDraw. I also don’t attempt to use it for things it’s not intended for, like mesh manipulation, organic shapes, etc. (That’s what Blender is for.)

    3. Don’t use real FreeCAD! Use Realthunder’s fork. He uses topological naming, you can go back and edit old sketches and everything will be fine.

      On the rare occasion something does break, like if a needed feature goes away entirely, and comes back, it can be fixed with a geometry search that lets you automatically try to find the closest matching feature.

      1. Nah, I’m waiting for Realthunder’s work to be mainlined. Trick to avoid topological naming problems is to only reference other sketches and datum features (which should also only reference other sketches and datum features).

        1. Yeah, you can definitely get by without topo naming, but it’s a lot easier when you can attach a sketch to a plane and things like that. Otherwise you have to do your own math or use the spreadsheet feature, and the time really adds up.

        2. Is there a way to reference a base sketch, then modify the base sketch, so updates occur to another paf->sketch? It seems once a pad has been created, any additions to the base sketch can’t get referenced because the sketch is under a pad in the tree /layout.
          So you end up redoing all your work with a new sketch that can reference the updated sketch. Pad it again, add a tool path…

  2. FreeCAD is fine for one time simple jigs and fixtures. Can someone show me a serious project or part with application study. Until then I consider it fun little toy and handy 3D format converter. Please prove me wrong, seriously.

    1. I cheat by using Rhino3D for the actual modeling, but the FEM modules integrated into Freecad work quite well for complex things, just needs at least 32 GB of ram (and even if you have that much, it doesn’t seem to work well in the Windows version). Post-processing works but is a bit slow for compex models, but exporting solver results to .vtk and post-porcessing in Paraview works great.
      I really need to spend some time to add Rhino3D mouse mapping to Freecad. that’s the thing driving me nuts most.

  3. Solvespace looks visually like it might be funky, unusable, and antique. Get over that point, and underneath it’s the most stable and reliable piece of software I’ve used. It’s fast and predictable.

    There are a few minor quirks, but you get used to it. Keep your constraint chains short and you’ll be happy. I will *never* pick FreeCAD again.

    1. I started out with SolveSpace a couple of years ago, and I concur with your assessment. It’s extremely efficiently built (I mean – come on – it uses ONE single executable file!) and it’s pretty easy to learn. I grew up with DOS apps, so the appearance didn’t really put me off. I just wish there was a way to go back and insert intermediate operations after the fact without the whole thing blowing up in your face half the time. I also invested quite a bit of time watching tutorials and learning FreeCAD, and I’m generally very pleased with it. Some of the add-on modules are amazing – like the one for bending sheet metal. I get my share of issues when I do things I probably shouldn’t, like change something that other things are dependent on, and then have to work my way back through and fix everything that broke, but I still think it’s well worth the effort to learn. Definitely two different mindsets, though. I use both of them at home and at work; if it’s something simple and quick, I use SolveSpace. If I need more horsepower, it’s FreeCAD. SolveSpace can really start to chug if you add too many parts. However, whoever said you have to have 32GB of RAM to run FreeCAD is smoking something. I use it with 16GB, and have Inkscape, web browsers, and e-mail running at the same time, and it’s fine.

        1. Will the FEM module not function on 16 GB? Anyone know? I can’t upgrade my laptop’s memory- its an HP Spectrex360 so its soldered to the motherboard. I did just get the thing late last year to do CAD and CAM work (yeah, I wanted more RAM too, I know, I know)

    2. When i’ve messed with Solvespace for the first time i was quite impressed. It obviously misses specialized workbenches/plugins which are available in FreeCAD. For example working with sheet metal, doing FEM simulations, etc… These things you can only do with FreeCAD. But i really liked the overall idea for simulating mechanical movement/linkages and i’ve used it to simulate linkages of hydraulic lifter that i’ve designed and made to be sure the leverages are about right.

      However once i tried to simulate such stuff using 3d models rather than plain lines, i started to bump into incomplete features. Like i wasnt able to add constraints which should be possible, etc…

      To be honest my most favourite FOSS CAD software is OpenSCAD. It’s quite different, but can be very effective and is the most stable from all of these. Also you don’t have to be afraid that you will lose your work if you bump into some bug, because the format is human readable and you can easily remove the problematic element from your model if it causes crash (which never happened to me).

      Also i think that since there is Fusion 360 for “free”, the development of FOSS CADs has kinda stalled. I really hope this is just temporary and we will get to create FOSS CAD which will achieve the same quality as Blender or Gimp did over the years…

      1. This last bit, that Fusion 360 is killing open-source efforts, really concerns me. It’s great, but it’s proprietary.

        OpenSCAD development has been slow for the past seven years or so. Part of the problem is that it’s almost feature complete. It’s kinda close to done. The remaining missing features can be written in the language itself — and there’s never been as much collaboration on OpenSCAD libraries as I’d like to see.

        Someone should put together a “distro” for OpenSCAD that includes a bunch of the best-of-breed libraries and working methods.

        Nophead’s collection comes damn close, though, now that I think about it.

        1. OpenSCAD is incredibility limited both in the language it uses and in missing features.
          The language is a utter joke where you can’t not have functions as types. No higher kinded types. Nothing. It is NOT FUNCTIONAL language like Haskell etc.. Pun intended.
          But the biggest problem that you can not reference already drawn geometry. The `probe` function which would at least allow to calculate bounding box and use it higher in the tree was multiple times rejected. What an utter joke.

  4. I use OpenSCAD + FreeCad. FreeCad is mostly for G-code generation via Path. It works great for me. I saw Solvespace before but the last build is from 2016. Ugh! However, I looked at github, and the project is under active development. Maybe, I will download and build it and give it a try…

    1. With openSCAD/freeCad, can you edit a model in openSCAD without having to redo the cnc gcode tool path/diameter/hole depth /speeds/ rapids etc for the gcode generation?

    1. I think Solvespace would probably run on an Etch-a-Sketch. It’s amazingly small and efficient, but I get the feeling it’s written in such a way as to not be able to use more than a certain amount of RAM; at least, not efficiently. The UI is pretty basic – lots of keyboard shortcuts (which I like!) and mouse support. If your tablet can emulate a mouse, you’re probably in luck.

  5. I just got my first 3D printer (and have the box of random dead plastic prints to prove it). I’ve been doing my modelling in Solvespace. It’s fantastic. Not without its problems, and it requires a very specific workflow in order to be effective, but once the penny drops and you start thinking the right way it’s amazingly smooth. Being able to specify things with constraints makes life _so_ much easier, and once you get a handle on some of the more advanced gears doing semi-procedural designs by setting up geometric diagrams which are then used as constraints for individual parts which are then assembled into more complex structures becomes second nature. Here’s an impressive video on building involute gears with Solvespace:

    UI-wise, it’s super clean and fast, with a minimal of clutter. I have it open right now and it’s using half the resources of cura. The design is mostly modeless, so once you figure out how to do something that same thing applies everywhere. There are a few things that always catch me out such as cancellation behaviour on line segments (I always end up drawing one more segment than I want). There’s a decent community on the forums who are super helpful.

    Definitely worth looking at.

  6. Unfortunately, I haven’t found either of them all that usable for anything more than the simplest parts.

    Solvespace is really great for modeling linkages, etc, but its very linear in nature for modelling.
    If you want to go back and change some basic dimensions or something that’s fine, but any time I’ve modified something that breaks a feature on the tree, it’s really difficult to fix and usually easier just to draw again from the start.

    I’ve also had problems with more complex objects ending up with normals pointing the wrong way and no way to fix them, etc.

    It does definitely do a better job of moving linkages more intuitively, so I sometimes use it for that, before doing the full model elsewhere. (as compared to fusion 360 where you’ll often try to move one tiny joint, and it will rotate the rest of the universe around it, or turn your model inside out)

    I haven’t tried freecad recently, but when I’ve tried in the past, it’s always seemed very buggy.

    I would really like to get away from fusion 360 though, because even though it’s all-around pretty good, I’m not a fan of the cloud-only aspects of it, or the fact that if they decided to abandon it, all my work is gone.

    1. Output STEP files. Always. No matter what you use.

      That does not capture design intent, but you can put the good stuff in Excel and systems can increasingly infer the rest.

      I have data created at the dawn of STEP, when IGES 4 or 5 was the primary format. Still useful today in any number of systems.

      IGES? If you must. The gist of it will be there for sure, but the cleanup pass can be brutal.

      Cloud CAD has pros and cons. The big con is no local install. I have some high end stuff, 5 figure CAD, archived in VMs. Can always run it. Cloud can just evaporate. But, it is super cheap!

      Mostly I do not care. 360 is easy. So I will jump on, do whatever, archive when done, next. Worst case I fire off a VM and continue.

      The pro is working with others. It is super nice on cloud. Worth it, IMHO. Cost compare with similar features and it is a no brainer. For a few hundred bucks, I can get a ton done, translate, etc…

      I am biased because I have run basically everything.

      I also find I just do not need advanced features most of the time too.

  7. Fusion 360 works amazingly well. User interface is extremely well thought out. I would love to be and replace it with FreeCAD or Solvespace but both have some serious issues

    – FreeCAD’s functionality is a complete mess. I appreciate the ton of work that the authors put into it, and that it is free software. Even so: it is confusing: Part vs PartDesign, AssemblyV2 vs AssemblyV3. None of it works together, it’s not designed. The CAD kernel seems to be not powerful enough to do certain things. If you make something in PartDesign or Part or whatever you can’t make pockets in certain situation. You can’t put sketches on top of faces in certain cases. So many dead-ends. The sketcher is also not very efficient. It takes about 10 times as long to sketch the same thing in it compared to Fusion 360 (implicit constraints missing, etc.). FreeCAD’s developers should spend about a month using Fusion 360 (or solidworks) and then realize that their UI is extremely poor and they need to rethink things. I really wanted to like FreeCAD, but every time I use it, it just falls apart if you look at it wrong. I appreciate that it is open source software, and if I want it to be better I should just contribute, but I doubt I could convince anyone of what I am saying.

    – SolveSpace, very easy to use, the constraints are good. The main feature it is missing is lofting to make aesthetically pleasing. It is also not under very active development. But I would use it over FreeCAD in a heart beat.

    1. Sorry I mean filleting rather than lofting…

      Also, I don’t want to be super negative on the FreeCAD developers. I know they are all volunteers. I think it has potential, but it doesn’t have a clear unified vision for tying all its functionality together, and I’m not sure OpenCASCADE is powerful enough compared to Parasolid that SolidWorks and Fusion360 use.

    2. The multiple overlapping workbenches definitely makes it look like patchwork in serious need of old-fashioned top-down architecture. As for the UI, browsing the forums gave me the feeling that they come from a SolidWorks background.

    3. I am thankful and amazed that such a program as FreeCAD was created, open-source, by volunteers. But having used it on a couple dozen projects, I agree with all of your frustrations.

      What I find unforgivable, is for a CAD program, the hotkeys are not well thought out, and they don’t even always even work. For parametric design, you spend so much time entering data and constraints. It shouldn’t be so tedious to complete a sketch. If you have to open and close two pop-up dialog boxes to enter each constraint, and you are entering 30 constraints, then it would be nice if the text fields and OK buttons were at least focused for you. Auto-completion of parametric variables should work. I shouldn’t need to mouse through a menu or toolbar to get a dialog to enter a diameter.

  8. I’m just going to pop in a plug for OnShape here. As a reguar user of several professional parametric 3D CAD packages, it’s closest in UI and workflow to those. Some of the other open source efforts feel as if the developers have never come at it from the use case of designing a component.

    1. The problem I have with OnShape is the same problem I have with all Cloud-based solutions: lacking an offline version, you are completely at the mercy of the company that makes the software. If they go out of business, get bought by another company, decide to discontinue the product, or change their pricing / terms to something that you can’t afford / accept, then you are suddenly locked out of all of your work.
      While you might be able to export stuff to some other format in advance of such a calamity, those formats generally are not really editable, and certainly don’t include all of the parametric programming you implemented to allow customization for different clients.
      Last I talked to the folks at OnShape, they were not willing to do an offline version or have any sort of code escrow / terms lock-in that would alleviate such a situation. They brushed me off and suggested that most folks weren’t using parametric design in the way I was and so wouldn’t care.
      Currently, I’m using Autodesk Fusion 360, which shares many of the same concerns, but at least it works offline for most things, last I checked.

      I’d like there to be a great, parametric CAD alternative. I did try to load FreeCAD, but I honestly could not determine how to make it do anything at all. I’m sure I was just missing something simple, but even OpenSCAD (on which FreeCAD is based) was more intuitive.

      1. I’ve had this exact experience with talking to Fusion360 people at corporate. They just arent willing to do a remote save feature no matter what.

        Im an old Inventor user, all my work was saved as Inventor files that I lost access to on job move. Im professionally trained in it, as late as 2018, as well as Solidworks and MasterCAM, and Fusion360.

        I would absolutely kill for serious FOSS parametric CAD/CAM software that actually works and has part assembly, but even being a linux guy at home- tried FreeCAD and couldnt get it to do anything, at all! The user interface is absolutely a mystery, what little I saw was like these developers haven’t ever used a CAD program before.

        I need a solution that lets me savr my work, I lost access to years, almost a decade of work of custom tooling because I cannot afford inventor privately, and I need to start designing a complex timepiece with many gears. I need somthing that just works, with proper parametric constraint, ideally stress analysis, that isn’t some proprietary bullcrap or cutesy internet only non download software model created by jackasses.

        Lines need to join, and close perimeters fully- Inventor 2010 I started on often refused to do this.

        I’m willing to entertain anything- except OPENSCAD. I don’t create by programming numbers!

        1. “I don’t create by programming numbers!”

          Apart from setting lengths, offsets, diameters etc·. Also, given the various libraries available for OpenScad, including gear libraries, you might find it is faster than a more graphic approach. You can use named constants, and carry out calculations to set their values, and put calculations into functions. Setting out gear chains involves lots of numerical work, to set ratios, calculate centre distances etc. and these can be built into the model in OpenScad.

          I use OpenScad and SolveSpace as my main tools, along with a little Freecad, and for gear chain work, I would go straight to OpenScad.

          1. The math for everything in cycloidal gear design (except the tooth profile itself) like center distances ect is trivial stuff. And inputting basic numbers to define shapes and lengths of lines is not an issue.

            What I have seen if OpenSCAD is that it is totally programmer oriented creation. If you can code it, you can make it. That’s wonderful- if you think like a programmer.

            I am a machinist, and while I program, its not in C and logic generally. I design by measuring shapes in the physical world, and I want my design software to follow that- for so many reasons that make actually making something the same way it will physically be made!

            It seems that the people who use it I have never actually picked up tools to physically make the objects they design, and have never actually made anything with real Machinery in real life and no matter how many times I explain this, it never seems to sink in with them.

            An object to me is not defined by a bunch of conditional statements it’s defined in a more intuitive way that I mentioned that most people who actually physically make stuff for a living find usable without becoming half computer themselves.

            Please don’t misunderstand though it’s not as though I reject the notion of a different way to create- I think it’s wonderful that someone designed an interface for people who would not normally create the way most of us do but there is a reason that most commercial offerings approach design in a similar way which is very very different from OpenSCAD.

          1. Yeah- only works in windows- and windows 10 has WGA phone home issue. I don’t feel like dealing with that, and I got into linux because I didn’t want to have to use cracked software.

            I support FOSS though almost always at cost of CAD & CAM functionality. For 15 years I’ve been waiting for a serious FOSS CAD/CAM application- something that could actually do close to what the commercial stuff can.

            For me as a prototyper, 3d modeler, machinist, watchmaker, and maker design software is the killer thing missing from linux.

            I have a feeling something must have gone wrong with my FreeCAD install, since everything I’ve read sugguests it should handle most of my needs. I just wish all the fractured efforts in OSS of different programs would join together under the one ring as it were, and get all the developers out there to make one master full featured CAD/CAM package to rule them all- that’s OSS, even if its not free.

            I’d happily pay a few thousand once for a permanent licence for something that rorks and stays up to date and is open source- so itll always be supported.

            Autodesk has made Fusion360 free to many, and cheap to licence if you pay- so they have done some good, but they got rid of permanent licensing. I will not, and many others will never stand for the possibility of our files being stranded again.

  9. Solvespace hasn’t had an official update since 2016, and it has a lot of bugs and omissions especially with assembling models. It’s barely useable, and it was supposed to have a whole refactoring done, but apparently not.

    1. Rubbish. Go to Github and you will see it is under active development now.and has been for at least a year.

      The main developer is a great guy and will respond to bug requests.

    2. I read through the entire discussion and not one mention of cadquery?

      It’s openscad, except based on the freecad style (relative positioning based on existing geometry, not absolute coordinates for everything) and in python.

      It has a terrible anaconda-based install, but if you can get past that, it’s the best — at least for those who enjoy the programing-style of design exemplified by openscad.

  10. If you can find a copy, Pro-Desktop has a pretty simple interface. There are a couple of things it can’t do but it’s very easy to learn. Pretty much pick up and start using it, but at the same time, if I remember correctly, it’ll still do things like, extrude a shape along a path ect. It’s a little dated now but good for beginners.

  11. I “use” FreeCAD because it’s actually free, and my needs are fairly minimal. Since my designs aren’t complex and are often done by the seat of my pants, I haven’t invested the time to learn proper workflow. Instead I learn new things as I go, but not without plenty of frustration throughout. It’s definitely not intuitive, but I don’t know if any 3D CAD software is or can be. I’ve seemingly irreversibly broke designs, requiring a restart almost from scratch, but in those cases I’ve often been able to apply newly learned techniques which would make the process much faster and smoother the second time around. I chalk up most of my issues to user error, and even if the software has issues, I’m grateful for all the work the developers have put in to such a full featured package.

    My most recent foray into FreeCAD actually consisted of various techniques I learned from watching some of the Joko videos. It’s yet another example of great content freely available created by helpful people. I’m happy there are people like this out there.

  12. I use the realthunder fork of FreeCAD. More people need to know about it!!

    Unlike the mainline version, you can edit old sketches and it’s very hard to break the whole chain. You can do as much nonsense as you want attaching sketches to faces and using other features of the part for external geometry, and all of it can be edited mostly without breaking anything.

    1. Explain how you get this- its a true fork, ie separate build, or an addon to FreeCAD? Havent heard of this. I do a lot of overlayed sketches based on conditional part geometry to design mechanisms for timepieces, and lots of sketches crashed others (like MasterCAM 2019, which actually has decent but limited CAD built in)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.