News for hackers. Stuff that matters.
Re:FreeCAD Arch development news by usernam on Sunday June 04, 2017 @10:43AM (#14481813)
I keep trying FreeCAD every 3-6 months, but it's so full of little bugs and crashes it's not really usable in my mind. I'm using the version from Debian unstable.

The UI is unstable (very easy to crash just by fiddling around), and the geometric kernel has a ton of little issues that you have to work around. At every new project I have the liberty of giving it a try without many constraints (no import/export required, minimal assemblies of elementary geometry). I really wonder how can you actually go through the relatively complex projects I've seen as a tutorial, really. I would always give up after a dozen crashes.

I've used SolveSpace in at least 4 projects, and I absolutely love it. The UI is different than FreeCAD, but in a very positive way (after learning the basics, I genuinely prefer SolveSpace's a dozen times!). It's a bit sad that SolveSpace's kernel is definitely inferior in terms of capability to FreeCAD (notably: no offsets and no chamfers!), but what is supported _is_ stable. I cannot say the same in FreeCAD, where chamfers would sometimes cause degenerate geometry or downright crash. The only minor complaint in SolveSpace is that currently it's not always obvious to see the construction tree, as it's represented linearly.

I bought a copy of VariCAD that I use on linux. But while it's certainly a capable CAD, I really don't like the UI, and the parametric modeling is clunky at best.

I don't think there's much more available in terms of parametric modeling on linux if we exclude prohibitive stuff like NX. I'd like to be proved wrong here.

I still think the best modeler I've ever used is still Rhino, a joy to work with. But while it supported parametric surfaces, it didn't really allow parametric modeling when I last used it.

Re:FreeCAD Arch development news by gh02t on Sunday June 04, 2017 @11:09AM (#14481931)
I've used Solvespace a lot and agree, it's very intuitive and stable. Unfortunately it lacks a lot of the more in-depth features and also its constraints engine gets confused very easily, plus it doesn't do great with curved surfaces. I ended up moving away from it after getting frustrated that certain tasks were oddly difficult and complex, e.g. fillets/chamfer or changing the color of an object.

Nowadays I mostly use OnShape. It's similar to Solvespace in terms of workflow, but more comparable to a "real" CAD package feature-wise. It's also free for hobby use as long as you are willing to share your designs. The major disadvantage (to me at least) is that it isn't OSS, but by virtue of being in-browser it at least runs on Linux.

Edit: I'd also still recommend Solvespace, especially if you just want to do some basic drawings or learn parametric CAD.

Re:FreeCAD Arch development news by delhanty on Sunday June 04, 2017 @11:25AM (#14481997)
Is Solvespace history based parametric CAD?

FreeCAD's architecture that combines history based modeling with inferior kernel (Open CASCADE) is about the worst choice from a reliability standpoint.

The best kernel, Parasolid, only started to get good when mainstream Unigraphics went history based parametric in 1992. The reason is that all of sudden Parasolid has to be able to correctly rebuild every model ever made in Unigraphics, SolidEdge and SOLIDWORKS - including bug-for-bug compatibility. That's an extremely hostile evolutionary environment, and to survive Parasolid had to get extremely good.

OpenCASCADE in contrast only has to replay FreeCAD models, and there are modulo zero of those, and actually zero paying customers.

SpaceClaim has things the right way round to built a reliable CAD system: direct modeling X still v good b-rep kernel (ACIS).

Free/open source doesn't have a good curved surface kernel.

To build one is difficult. Every time you add a new surface or curve type, then case analysis for the intersection algorithms goes up with the square, so the key is to limit severely the number of surface types. One though I had was to just use Dupin cyclides (which covers the quadrics) and approximate everything else with cyclide sheets. There are some architectural CAD papers on these.

Disclaimer: Parasolid dev 1989-1995.

Edit: maybe that's what Solvespace does - limit to just NURB surfaces? Way to go! The Dupin cyclide approach would have to approximate NURBS with cyclide sheets, but the intersection algorithms could be easier to implement because they are implicit quartic surfaces.

Re:FreeCAD Arch development news by gh02t on Sunday June 04, 2017 @11:55AM (#14482136)
I'm not sure, I think Solvespace is history based, but I don't know enough about CAD geometry engines to give an in-depth answer. Most of my experience with CG comes from the simulation modeling aspect (think more GEANT instead of CAD).

I'm pretty sure Solvespace is using their own geometry engine implementation and not something like OpenCASCADE or CGAL (as in OpenSCAD). As you note, it really struggles with curved surfaces. Just drawing a cylinder and doing some booleans on it will cause problems. And it can have a fit with constraints too, e.g. the symmetry constraint almost always leads to an unsolvable sketch for me. Onshape and Solidworks (which I dislike) perform noticeably better.

But, Solvespace really in most cases gets the UI and workflow right. It's highly intuitive except for a few things (as I said, a couple things like changing colors for a solid are really irritating). I think it's in most cases a better choice to learn for hobbyists than something like OpenSCAD, which is the maker darling.

OnShape to me feels like what I want Solvespace to grow into. The workflow is actually very similar, but as you say the geometry engine is vastly superior. And it's obviously the money thing. CAD is very much a "long tail" process, where it's not hard to make 90% of the features that are needed, but where everybody needs lots of stuff from that last 10%. This has always been an area where open source has had trouble.

Re:FreeCAD Arch development news by delhanty on Sunday June 04, 2017 @12:05PM (#14482171)
OK - so maybe Solvespace is history based.

If I was doing it, which I'm not, for the free (as in freedom) and/or open-source kernel, I think the best way forward would be to salvage the STEP, IGES etc import/export code from OpenCASCADE and graft that on to Solvespace.

Re:FreeCAD Arch development news by sidegrid on Sunday June 04, 2017 @02:05PM (#14482649)
What do you dislike about SolidWorks?
Re:FreeCAD Arch development news by gh02t on Friday June 09, 2017 @02:32PM (#14523377)
It's overly complex for what I do, which is mostly hobby stuff with some occasional custom designs for my work use (academic research lab, mostly custom mounts and brackets for obscure equipment). Also the onerous licensing and price. Admittedly it's been a while since I used it, so maybe the UI is more friendly nowadays but I never really found it to be particularly intuitive.

But the biggest reason is I'm a Linux guy and I want something I can run without rebooting into Windows or a VM. I'm usually extremely wary of complex applications running in a browser, but I have to say OnShape works great and performs well. And being in browser means it runs on Linux no problem, which is a major benefit to me.

Re:FreeCAD Arch development news by xrange on Monday June 05, 2017 @12:27PM (#14488896)
>...it's so full of little bugs and crashes it's not really usable in my mind. I'm using the version from Debian unstable.

Ever try it on another platform or build? I've been learning FreeCAD for the past few months, and while have certainly come across "quirks" (like certain boolean operations not working quite right, the polar array feature in the Draft workbench working with everything I throw at it, but the polar array feature on the Part Design workbench choking on somethings, etc.). I've never had it crash. I've been using the "stock" v0.16 x64 build on Windows 10. It could be that since I'm just a CAD newbie, that I'm not exercising it hard.

Re:FreeCAD Arch development news by delhanty on Sunday June 04, 2017 @11:02AM (#14481903)
>but it's so full of little bugs and crashes it's not really usable in my mind

See my comment below comparing Open CASCADE with Parasolid.

Developing B-rep modeling kernels with support for curved surfaces is very labor intensive.

Re:FreeCAD Arch development news by usernam on Monday June 05, 2017 @03:35AM (#14485889)
I know and cannot deny the enormous effort of OCE. I tried to develop a simpler parametric 2d cad once for almost two years, but couldn't keep up with the complexity before getting myself /something/ I could use.

This is why I keep trying. FreeCAD is the closest package we got to a decent CAD in an OSS package, and I cannot wait to avoid using closed software in my designs.

But I'm just stating facts here: I couldn't follow the tutorial without incurring in crashes. I similarly tried CadQuery, but incurred with mostly the same issues.

But like I said, the issues are also on the UI, not just on the OCE engine.

UNDO management is often completely broken. Undoing line properties for instance used to only partially revert line properties, but revert previous geometry changes as a side effect. I got crashes just by toggling snapping states (even before hovering over the geometry that would cause some actual computation to be done). I thought I could help on those issues, but the build process involving OCE is time consuming and requires some non-trivial time investment before you can become an effective contributor (as for most large projects - cannot blame anyone here).

I occasionally use FreeCAD also as a simple 2d (non-parametric) CAD package. Still very frustrating. You would think we had more options for 2d drafting, but not really. I do not consider qcad/librecad to be real CAD packages. They're like toys in my eyes. I used inkscape (yes...) with greater results.

Re:FreeCAD Arch development news by delhanty on Wednesday June 07, 2017 @05:44AM (#14504851)
+1

I too would dearly love FreeCAD to succeed because the FOSS world dearly needs at least semi-decent parametric MCAD.

My view is that the UI and UNDO problems that you report are likely more tractable than the deeper problems with OCE.

My first encounter with CASCADE was before it was Open in 1993 and Maura was still trying to sell it. I was a consultant at the time, and the client at the time was initially sold on it by the Matra salesman. At the end, though when CASCADE utterly failed to perform he had a screaming row with the Maura consultant.

CASCADE was refactored from Euclid which was the loser MCAD system of the time because it didn't really support curved surfaces properly.

Then Dassault purchased Matra, presumably for the Euclid client base who they swiftly moved onto CATIA, and they saw no value in the CASCADE technology so OCE was born.

Re:FreeCAD Arch development news by kanzure on Sunday June 04, 2017 @01:19PM (#14482452)
> and the geometric kernel has a ton of little issues that you have to work around

Under the hood, OpenCASCADE is an eyesore. Here are my notes from a deep dive where I was attempting a sane reimplementation: http://diyhpl.us/wiki/cad/opencascade/

Re:FreeCAD Arch development news by phkahler on Sunday June 04, 2017 @03:05PM (#14482953)
The was talk of using OpenCASCADE in solvespace, but it has not happened. If it's the source of crashes in FreeCAD then maybe that's not a good idea.