FreeCAD 1.0: new features and the larger picture

After only 20+ years in the making, FreeCAD hit the 1.0 mark today. The latest development cycle wasn’t easy, a lot of things happened along the way. Let’s talk about major changes in this release and then discuss how the community has been evolving.

What’s new in 1.0

Toponaming

FreeCAD used to have a whole bunch of topological naming issues that are mostly gone now. So if you reference geometry in a part, then delete that geometry, your model shouldn’t break anymore. It’s still possible to run into issues, but it’s true for any parametric CAD software to some extent. In that respect, FreeCAD is more like any other CAD program now.

New Assembly workbench

FreeCAD now has an integrated Assembly workbench written by the Ondsel team. It currently supports a bottom-up design approach, so the preferred workflow is to create a new assembly, insert parts as links, ground one part, connect parts with joints, set offsets and limits, and then you can test the motion of the assembly.

After that, you can create exploded views — as many as you like — and place them on TechDraw pages. You can also generate bills of materials — as many as you like too. Both exploded views and bills of materials are parametric, you can reopen and adjust their settings.

Sketcher improvements

Sketcher has gone through a massive overhaul. For example, on-view parameters help dialing in dimensions as you sketch:

The all-new Dimension tool replaces multiple other tools to add constraints and has the M shortcut to switch between multiple dimensioning options that are possible in the context.

The automatic horizontal, vertical, and midpoint constraints are… pretty self-explanatory. Here is the midpoint constraint in action, adapting to the new pad value:

There are now Scale, Offset, Move, and Rotate tools. Move can additionally create arrays, and Rotate can make polar transforms.

There is now a basic Chamfer tool in Sketcher.

The updated Symmetry tool can now use anything as a reference and displays a preview before you click to confirm.

The Trim tool can do continuous trimming now — just press the left mouse button, drag over lines, and release.

Among other changes:

  • You can create 3-point rectangles and arc slots and use tangency for B-splines.
  • Some similar tools have been combined into one with options in the Task panel.
  • The entire geometry visualization has been revamped for clarity, with consistent colors and use of dashes and solid lines.

Part Design improvements

Although the Helix operation got a huge amount of fixes thanks to AIRCAP, I’d argue that, especially for people coming from other CAD programs, the game changer is an experimental option called Allow Compound that allows multiple solids in one body.

Some of the other changes are:

  • Revolution and Groover now have more options: to first, to last, up to face, and two dimensions.
  • Pad and pocket task panels have been slightly reorganized for better UI.
  • Linear and polar patterns now have an Offset mode.
  • Pad has a new “Up to shape” mode so that you can end the extrusion on multiple faces.

Measurements

The old measure tool has been replaced with a new one where you can choose a mode and save measurements as objects in the project.

There’s also a quick measure feature that displays context-sensitive measurements in the status bar. That includes length for edges, distance between points and edges, angles, radius, area for one face, and total area for multiple selected faces.

Both features only work on breps and do not support meshes (tough luck for people with STL files).

TechDraw improvements

The Insert View tool now handles virtually every type of supported objects and replaces multiple similar tools.

Views and dimensions now snap to each other for automatic alignment.

A new combined Dimensions tool replaces multiple others and works similarly to its Sketcher counterpart.

Other changes:

  • The new Broken View tool helps render long objects.
  • The new Arc Length Annotation tool creates annotations of arc length of selected edges.
  • The new Add Offset Vertex tool creates cosmetic vertices as offsets from selected vertices.
  • The new Cosmetic Circle tool: select the center and set the radius.
  • Color and transparency of faces can now be set per view.

FEM improvements

Some of the great improvements here are rigid body constraint and support for 2D (plane stress, plane strain, and axisymmetric) analyses—all via CalculiX. I recommend reading the dedicated post by NewJoker, the new maintainer of the workbench.

Screenshot courtesy by NewJoker

New materials system

Dave Carter did a huge amount of work on the new materials system. It combines mechanical, thermal, and visual properties.

So far, there is initial support for the workbench in CAM and FEM workbenches, as well as in Dave’s Rocket workbench. The workflow for changing just the appearance has changed and currently requires a few extra clicks, though.

VarSets

VarSets is a new system for custom properties, it helps create parametric designs. Unlike configurations in spreadsheets, VarSets sit just there in the Property View right next to your design and are accessible from scripts when you run FreeCAD in headless mode.

Also in the release

Yorik van Havre combined Arch, BIM, and NativeIFC workbenches into the BIM workbench. The native IFC part means you can now edit IFC files directly, without conversions between document models. So no more importing or exporting.

Brad Collette finally renamed the Path workbench to CAM. The workbench also comes with a brand-new milling simulator that is faster, prettier, and more precise—kudos to Shai Seger. Also, thanks to phaseloop the V-Carve operation now has features like Step down, Finishing pass, Head movement optimization, and debugVoronoi method. All that improves carved surface quality and increases the carving speed up to 50%.

Community changes

The way the entire project operates has changed a lot during the latest development cycle.

Merge meetings. Every Monday, the team meets on Jitsi to go through the list of pull requests, discuss which ones are good to merge, and then merge them one by one. The meeting is frequently visited by developers who contributed patches and are ready to discuss specifics.

This helped tremendously to keep the count of unapplied PRs relatively low. Their number accumulated somewhat in the few months leading up to the release of FreeCAD 1.0, but maintainers have already started cleaning up that backlog.

Developer meetings. Likewise, the larger team started meeting once or twice a month on Jitsi to discuss ongoing work and further plans.

Both merge meetings and developer meetings are public and available on the project’s calendar. Everybody is welcome to join and participate. Agendas are public and, since recently, so are the meeting notes.

Design Working Group. This team was formed about a year ago to start hacking on UX/UI issues. This resulted in a major icons cleanup and a number of UI improvements in both FreeCAD and some of the addons, such as SheetMetal.

CAD Working Group. This is the latest addition. This group’s larger objective is to help the project stay relevant in the current CAD landscape.

The grant program

Disclaimer: I was involved in the making of the ongoing grant program, so I’m sorry of this part of the post comes out as patting myself on the back.

The original grant program wasn’t very successful. The FreeCAD Project Association, the non-profit behind the project, only gave four grants, $1K each: two honorary (RealThunder and Adjinkya Dahale) and two to Adrián Insaurralde for release management. The FPA members were cautious about handling larger sums of money, and the community didn’t seem interested in applying. So something had to change.

I did the research (summary here, full text here), came up with some recommendations, and then designed a new program.

The general idea is that grant applications go through the review committee that says whether the application makes sense technically but it cannot veto an application. The decision is then made by the FPA general assembly comprised of both developers and prominent community members. Each application is voted on the same way any other proposal is voted on.

I will do a detailed post-mortem of the first year of the program on FreeCAD’s blog in December, but here are some preliminary takeaways:

  • The annual program didn’t get as much traction as out-of-program grants. Let’s see how things go in the second year.
  • We ended up with a mix of projects: both short contracts for smaller and well-defined projects, 1-year long contracts for ongoing work on infrastructure and the blog, and a few projects that are somewhere in the middle.
  • The “X hour at Y per-hour rate” idea worked well for the toponaming project.
  • A few projects seem to be stalling, but people don’t get paid for stalled work, so that’s bearable.

Personally, I think this model works sufficiently well. Some of the outcomes are:

  • A huge boost to the toponaming project thanks to CalligaroV and the late Brad McLean.
  • All sorts of improvements to the FEM workbench thanks to a grant to Mario Passaglia, but also thanks to NewJoker, who pretty much became the new FEM maintainer.
  • Sketcher improvements thanks to Adjinkya Dahale.
  • User manual update thanks to Andrianos Karampilis.

The Ondsel story in a nutshell

Ondsel was formed in early 2023 as a commercial entity building Lens—an online product management system and a CAD-specific file-sharing service on top of FreeCAD.

The company probably went a bit too far and started using the funds to fix some serious problems in FreeCAD to make the software behind the PDM more approachable for users. The fixes were great and praised by the community (as a former contractor, I’m biased, of course), but the PDM flopped, so the company is now shutting down.

I already covered this topic in a recent weekly recap. All I can say here is that Ondsel failing does not automatically mean you can’t build a successful business around FreeCAD. Ondsel is not even the only (or the first) attempt to do so. A more focused service with a product-market fit can succeed.

Apart from the fixes and the push for change in FreeCAD’s operation, one contribution that doesn’t get talked about much is that Ondsel did change the perception of commercial development around FreeCAD. I think the next company that comes to do a similar thing will have it easier to gain the community’s trust.

Looking forward

The way the project operates has changed so much that I think there’s a kind of expectation building up in the community that the team will announce the next big things for the project. This has already been discussed by developers. Some of the ideas are:

  • Further UX/UI improvements, including the porting of RT’s quality-of-life improvements back upstream.
  • Earmarking a chunk of donations towards fixing some of the really annoying issues in OpenCascade.
  • Move away from Coin3D to some newer rendering solution (WIP in the RealThunder’s fork).
  • Hidden line removal rewrite in TechDraw.
  • Better GD&T implementation.
  • Performance improvements.

Regarding UX/UI specifically, the FPA made a smart move to use some of the available funds to get design working group members some training. So far, only Joe “Obelisk” Sardos claimed the grant and studied UX design. But he is also one of the prolific members of the group and he recently got a new grant for revamping artwork guidelines and icons.

Another team member, Kacper Donat, recently applied for a grant to implement a new feature preview system, including transparent previews.

Overall, the implementation of bigger ideas depends on donations. The current model, where the FPA reserves the majority of donations for grants, seems to be efficient.

There are limitations, though. The FPA members feel comfortable spending EUR 8K on a project that will go on for several months. But spending EUR 5K a month on a single project (and thus effectively having a full-time employee) feels too much at the moment.

This is where both the community and corporate sponsors could save the day. And after so many years, I think the organization and the spirit are finally in the right place to make the most of it.


This is a companion discussion topic for the original entry at https://librearts.org/2024/11/freecad-1-0/
4 Likes