FreeCAD Day 2023 - Report and Continued Discussion

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Post Reply
User avatar
chennes
Veteran
Posts: 3881
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

FreeCAD Day 2023 - Report and Continued Discussion

Post by chennes »

First, thanks to everyone who made it to Brussels to meet in-person today -- it was awesome seeing a room full (and I do mean FULL!) of FreeCAD users and developers, working together to discuss things that can make FreeCAD even better. I've taken a bunch of notes and it will take me some time to process them and get them up here, but I hope that we can continue the excellent discussions here on the Forums as a larger FreeCAD community.

I'm going to start with just posting what ended up being the "unconference" schedule so everyone can see what we talked about (and if I missed anything, please correct me!):
  1. Announcement about FreeCAD/Free CAE conference and discussion of their sponsorship list
  2. Discussion of upcoming features in Addon Manager, and implementation strategies
  3. Presentation on Automated Documentation of Open Source Hardware
  4. Discussion about Documentation Strategies beyond the current Wiki
  5. "Complaint Session" -- much more on this later, it was very productive!
  6. Presentation on Possible long-term future directions of FreeCAD
  7. Presentation on Laser Cut Sheets for Welding and Sewing (boat prop and hang glider projects)
  8. Presentation and discussion of possible strategies for Thermal Modeling of buildings in FreeCAD
  9. Discussion of the role of "Maintainer" and strategies for managing FreeCAD's growing dev community
  10. Presentation from the Open Toolchain Foundation
  11. Presentation on Experiments in Collaborative Editing of CAD documents
  12. Demo of recent work in OpenSCAD integration
  13. Presentation and discussion of strategy for Toponaming branch integration
  14. Discussion about other things the FPA could fund
As you can see, a very full day! I'l post about each of these individually over the coming days. We may have to split the discussion into separate topics for some of them, since there is a lot to unpack.
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
User avatar
chennes
Veteran
Posts: 3881
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: FreeCAD Day 2023

Post by chennes »

The presentations/discussions varied widely in how much time we spent on them. So I will just present them here in their original presentation order...

The day began with Keith Sloan (@keithsloan52) advertising the next FreeCAD event, the FreeCAD (and free CAE) User's Conference. This is a short conference being held online March 1-3. It's got some pretty notable sponsors: Lloyd's Register and the Royal Academy of Engineering.
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
User avatar
chennes
Veteran
Posts: 3881
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: FreeCAD Day 2023

Post by chennes »

The second discussion of the day was led by me (Chris Hennes, @chennes), about various things in the Addon Manager.

I presented the project I am currently working on to provide a server-side cache of addon metadata and icons, and most notably from a user's perspective, Last Update information. This led to a discussion of the myriad ways that one might choose to sort the list. It is alphabetical (only) now, but in the future in might be nice to also sort by last update time. This then led into a far-ranging discussion about other possible sorts: various ways of "ranking" Addons: by number of downloads, GitHub stars, number of recent commits, etc. Essentially coming up with a "Page Rank" for an Addon. The goal of that ranking would probably be principally to provide some guidance to a new user about whether an Addon was "active," maintained, supported, etc. We came to no positive conclusion, but this was a fruitful discussion that will no doubt lead to some additional future experimentation.

We also discussed the Addon Manager's functionality as a Python package manager, and how important that was or was not, plus how to actually do that management effectively, etc. It was suggested that we modify it so that power users could specify their own virtual environment and basically do all that management themselves if they wanted to, so they could maintain multiple versions of FreeCAD/Python independently. It was also suggested later on in the day that some of this headache could be bypassed by installing the most popular addons using system package managers instead of rolling our own.

We also briefly touched on the idea of grouping addons: what groups to use, the functionality of tags, and the raft of issues that causes (and of course that every other package manager has struggled with over the many years we've been doing this sort of thing).
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
User avatar
chennes
Veteran
Posts: 3881
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: FreeCAD Day 2023

Post by chennes »

Presentation three was given by Pieter Hijma of the Open Toolchain Foundation: Automated Documentation of Open Source Hardware

Pieter began by point out that in Open Source Hardware, the bulk of the actual project is really documentation: you have to be able to show others how to build a thing in order for it to really be "Open Source Hardware." The goal of the project was to automate much of that documentation, or to at least allow the developers to create the documentation alongside the development of their CAD models. To do this they implemented a new FreeCAD Workbench (they consider it "paper-ware" so while it works for what they needed it to do, it should be viewed as a proof-of-concept, not a finished product).

To implement this they used the BIM layer manager as a starting point and adapted it to be a "layer state manager" -- they create a new SVG exporter so they could work with colors and have those SVG files generated automatically from the CAD file and some specification for the finished document.

As a side comment, one of the Open Toolchain Foundation members mentioned his surprise that most Open Source Hardware people are not concerned about or interested in using Open Source software. We also discussed briefly when designers were most interested in doing documentation in their workflow.
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
grd
Posts: 328
Joined: Wed Apr 13, 2022 5:13 am
Location: Eindhoven, The Netherlands

Re: FreeCAD Day 2023

Post by grd »

It was indeed a very interesting day! I learned a lot. It is always nice to talk with people who have roughly the same mindset. Thanks for organizing the event! I liked it a lot so I am looking for the next event ;-)

Gerard
About Nim. Latest Release 2.0.2. Here is Nim in 100 seconds and a Nim package. There are Qt and OCCT packages.
User avatar
kkremitzki
Veteran
Posts: 2511
Joined: Thu Mar 03, 2016 9:52 pm
Location: Illinois

Re: FreeCAD Day 2023

Post by kkremitzki »

It was an awesome event, with a great quantity and variety of effort contributed by many, so thanks to contributors, supporters, and the community, and everyone else.
Like my FreeCAD work? I'd appreciate any level of support via Patreon, Liberapay, or PayPal! Read more about what I do at my blog.
User avatar
chennes
Veteran
Posts: 3881
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by chennes »

Next we discussed FreeCAD's documentation. First, how excellent it is compared to many other Open Source projects, but then of course, the shortcomings, of which a few jumped out as the most important ones:
  • Search - catches all languages, and is not powerful
  • Versioning - No docs for "FreeCAD 0.19" separate from "FreeCAD 0.20"
  • Markdown - MediaWiki uses custom (somewhat awkward and difficult) markdown
  • Translation - No integration with CrowdIn, it's a totally separate process
Kliment from KiCad mentioned that they just use Markdown files stored on GitHubGitLab. Edited to add a clarification from the KiCad Documentation Team: "KiCad user documentation is written in asciidoc with the source hosted on gitlab (within the broader KiCad gitlab organization). The compiled output (HTML and PDF, including translations) is hosted on the KiCad website and distributed as packages on supported operating systems."

We segued from just discussing documentation to discussing the pros and cons of written and video tutorials, and also touched on the need for a first-run wizard to assist new users in setting things up, and even integrating a video tutorial in that setup process. We had several relatively new FreeCAD users in the room who shared their experiences and had suggestions. We discussed adapting the macro recording concept to run a recording during the screen capture of a tutorial, allowing one to directly see and play back the commands while watching (plus pause, rewind, etc.)
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
User avatar
chennes
Veteran
Posts: 3881
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by chennes »

Complaint Session - this was a polite, productive, and professional discussion about FreeCAD's shortcomings, and about people saying "here's how FreeCAD can get better." I want to amplify one of the meta-complaints that came up: we should be able to hear, and listen to, complaints. At a few points during this discussion there was a complaint, and another person would respond with "but you can work around that by"... which does not invalidate the complaint. Or "oh, we have that feature, you just can't find it"... also still a valid complaint. So we worked hard during the session to welcome feedback, to write it down, and to take it seriously. I apologize if I missed anyone's; please feel free to post corrections below.
  • Stop moving my toolbars! (applause)
  • The active tool stays selected when switching from tasks to combo: this is very confusing.
  • You should be able to easily move an object via click-and-drag.
  • Forums: password reset doesn't work using Safari.
  • Measurement! (applause) Linear and radius/diameter. Everywhere.
  • Materials are only in Arch and FEM, but can also be useful in PD.
  • Merging PRs takes too long.
  • No included assembly workbench.
  • New user: what is the workflow, what WB should I start with? (+1)
  • Multi-transform has poor discoverability.
  • Need multidimensional patterns, with distance/step specification.
  • The methods for starting a sketch are inconsistent.
  • Use a single sketch to create multiple parts more easily.
  • Need better selection tools (filters, etc.)
  • DXF file export is buggy.
  • Selecting and deleting constraints when there are many co-located is difficult.
  • Many tools have too much dependency on the order things are selected in, with no guidance about what that order must be.
  • STEP import gets very slow for large files.
  • Image workbench: once the dimensions are set, changing them uniformly is a pain.
  • Images from Image WB show the back side as black: should be transparent, or the image reversed.
  • Selection radius default is too small (esp. on high rez displays).
  • Sketch selection from backside doesn't work.
  • Too many workbenches show by default, confusing to new users (suggestion: sort by last-used date).
  • A list of all named parameters in a floating window would be nice.
  • Spreadsheet in a pop-up for easy reference would be nice.
  • The spreadsheet thing could have an interface for displaying fundamental versus derived parameters.
  • We need a first use wizard (this kept coming up...).
  • Unit selection per document (also some complaints about the Imperial system in general :) ).
  • Volume/Mass/Moment should be easier to get directly in Part/PD.
  • Nice to have an easy canned render: "Click button get pretty".
  • Tell users "what is a macro".
  • Use Euler angles for rotations.
  • All import/export could go through single WB, get rid of duplicates.
  • TechDraw needs better GDNT support (symbol library missing things).
  • Need a text alignment option.
  • TechDraw template creation needs better discoverability.
  • Be able to edit a Sketch directly in TechDraw.
  • Stop telling users they should become developers.
  • Suggestion: a function that provides a direct command pass-through to OCCT, returns OCCT errors.
  • AppImage size ballooned recently - why?
  • We should do profiling to see where slowdowns occur, so we can focus fixes.
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
User avatar
chennes
Veteran
Posts: 3881
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by chennes »

Next up we discussed some more far-reaching future possibilities, led by Kurt (@kkremitzki):
  • CAD Web stack based on ideas from Post GIS
  • Adding PyKDE to the PySide imports
  • Rewrite critical parts of OpenCASCADE Kernel in ... Rust?
  • Rust is polarizing - what about Nim?
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
User avatar
chennes
Veteran
Posts: 3881
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by chennes »

Next, Julian Todd (@JulianTodd) presented "Laser Cut Sheets for Welding & Sewing" about a project to design and build a powered hang glider using FreeCAD, including using FreeCAD to do the flattening and designing of cut lines for the fabric airfoil coverings.
  • The project was to start from what was needed for manufacturing and work back from there
  • Heavy emphasis on custom-built Python code
  • Used Mesh flatten method to figure out the correct 2D geometry
  • Julian spent some time describing all the complexities of the project
  • Fundamentally he needs a set of curves that are embedded in a surface
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
Post Reply