- Most work in this field uses THERM, developed by US government. Free, but not open source
- "Good enough" so no one does any better
- Uses small 2D cross sections of critical building areas
- Question: what is the best way to plumb the process of that 2D extraction into FreeCAD?
- Comment from audience: FEM has a similar process for 2D analysis
- Yorik mentioned BIM and his work on level-of-detail processes
FreeCAD Day 2023 - Report and Continued Discussion
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Be nice to others! Read the FreeCAD code of conduct!
Re: FreeCAD Day 2023 - Report and Continued Discussion
Next, Wookey (whose forum handle I never did catch, so feel free to identify yourself!) presented on Thermal Modeling for construction of low-energy buildings.
Re: FreeCAD Day 2023 - Report and Continued Discussion
I led a discussion about GitHub Issue #8281: "The Role of Maintainer is Unclear"
I started with an overview of how we arrived at our current CONTRIBUTING.md document (adapted from C4 with modifications for our current state). Our community of developers is growing, most notably with the launch of Ondsel, which is providing some full-time engineering resources. A larger community is leading to more conflict, and more need to precisely define each role (User, Developer, Maintainer, Administrator).
As part of this discussion, we talked about:
I started with an overview of how we arrived at our current CONTRIBUTING.md document (adapted from C4 with modifications for our current state). Our community of developers is growing, most notably with the launch of Ondsel, which is providing some full-time engineering resources. A larger community is leading to more conflict, and more need to precisely define each role (User, Developer, Maintainer, Administrator).
- The purpose of CONTRIBUTING.md is to set clear expectations for everyone
- Currently the role of maintainer is unclear: the maintainers do not all agree what they should do
- The fundamental break is whether current code quality is the primary driver, or whether encouraging more development is the driver
- Is it OK to break the rules when the maintainer thinks it is called for?
- DISCUSS!
As part of this discussion, we talked about:
- Quick vs. slow merge
- Taking care of ALL contributors, not just new ones (rules apply for not causing others difficulties later)
- "Merge fast" can lead to technical debt that is difficult to get out of later (can't just revert when other changes depend on it)
- How much has to happen in an Issue, before going to a PR? (C4 works in part because all the discussion happened in the issue first)
- Discussion of branch strategy: what is the best fit for FreeCAD? Right now we have working master, branches for releases. Could go to a dev branch, more stable master, tags for releases. Or "Git Flow" workflow, with feature branches feeding dev branch feeding stable master.
- Model versioning and tests help
- Smaller PRs are WAY nicer -> let's encourage those
- 33 PRs merged in last seven days. Go team!
Re: FreeCAD Day 2023 - Report and Continued Discussion
Pieter Hijma from the Open Toolchain Foundation presented on the work they are doing in the FreeCAD ecosystem:
- @paddle is being funded to work on snapping
- @yorik is being funded to work on IFC spec
- @sliptonic/@jnxd (ONDSEL) is being funded to work on B-splines
- @uwestoehr is being funded to work on magnetic simulations
- @jmwright and others are being funded to work on Coded CAD
Re: FreeCAD Day 2023 - Report and Continued Discussion
Stefan Tröger (@ickby) presented "Experiments in Collaborative Editing"
Many people now expect easy direct collaboration a la Google Docs, Microsoft Office, etc. Instant feedback, dynamic sharing, etc. The project goal here was to bring some of that the the CAD workflow. The data is synchronized, but not the viewport. This is only reasonable with loading/saving of individual object data. He needed to create a "single source of truth" for the data so that conflicts could be resolved. Fortunately there is a lot of literature on this problem, he uses the "Raft" algorithm because it can actually be understood. He has a working first draft, but development is a bit stalled now. Anyone want to help?
A lot of the discussion focused on how unsuitable this workflow would be for a rigorous commercial CAD environment, but the basic response (if I am paraphrasing correctly) is that this has plenty of applications beyond that, and allows instantaneous switching of "control" by just saying so in your teleconference, etc. It's not suitable for all kinds of collaboration, but is a very interesting platform for other (maybe less formal) works.
Many people now expect easy direct collaboration a la Google Docs, Microsoft Office, etc. Instant feedback, dynamic sharing, etc. The project goal here was to bring some of that the the CAD workflow. The data is synchronized, but not the viewport. This is only reasonable with loading/saving of individual object data. He needed to create a "single source of truth" for the data so that conflicts could be resolved. Fortunately there is a lot of literature on this problem, he uses the "Raft" algorithm because it can actually be understood. He has a working first draft, but development is a bit stalled now. Anyone want to help?
A lot of the discussion focused on how unsuitable this workflow would be for a rigorous commercial CAD environment, but the basic response (if I am paraphrasing correctly) is that this has plenty of applications beyond that, and allows instantaneous switching of "control" by just saying so in your teleconference, etc. It's not suitable for all kinds of collaboration, but is a very interesting platform for other (maybe less formal) works.
Re: FreeCAD Day 2023 - Report and Continued Discussion
I only can talk for Debian, but this is because many fiddle around with many versions of FreeCAD. When they have LinkBranch from realthunder or an older version of FreeCAD installed, they share the same config files. Then, of course, they get in conflict each other (overwriting, destroying, .....). When using more then one version, they should define different config folders, see https://wiki.freecad.org/Start_up_and_Configuration.
The only thing, that will not stay are the panels (Task, Property, Combo, Tree, ....), because it seems they still saved in an different way. But it is a two click operation to reorder them.
Some other thing are in the list are still false or already solved.
Greetings
user1234
- adrianinsaval
- Veteran
- Posts: 5551
- Joined: Thu Apr 05, 2018 5:15 pm
Re: FreeCAD Day 2023 - Report and Continued Discussion
Ugh... wanted to be there so badly, nice to see so much stuff happening over there! The future of FreeCAD looks bright!
That sounds like something right up the alley of what ondsel could fund.
Re: FreeCAD Day 2023 - Report and Continued Discussion
Keith Sloan (@keithsloan52) did a live demo of some of his recent work in the OpenSCAD workbench. He is working towards a more dynamic model where OpenSCAD modules and code fragments can be embedded in, and edited in, FreeCAD. This is in contrast to the current situation where once it is executed the OpenSCAD code is effectively discarded, and replace by an import of the generated parts.
Re: FreeCAD Day 2023 - Report and Continued Discussion
Probably the most anticipated session of the day came from John Dupuy, under contract to ONDSEL, who talked about "Organizing the Topo-Naming Update".
John has been hired by @sliptonic/ONDSEL to assist with merging @realthunder's work on the Topological Naming Problem. As many of you already know, realthunder has developed a mitigation strategy in his fork of FreeCAD, and has been working on a development branch of FreeCAD to get those changes ready for merge into the main project. This is an enormous piece of code, much of which is entwined with other work that realthunder has in his branch. As such, the merge will not be a simple matter of rebasing and "clicking the big green merge button."
John (a professional software developer with many years of experience) has been working on reviewing real thunder's branch in depth. He presented a plan to re-sort and break up the complete branch into 20-30 functional steps. He intends to present a schedule and Gannt chart in a forum thread in the coming weeks, and to assist us in doing a merge by:
John has been hired by @sliptonic/ONDSEL to assist with merging @realthunder's work on the Topological Naming Problem. As many of you already know, realthunder has developed a mitigation strategy in his fork of FreeCAD, and has been working on a development branch of FreeCAD to get those changes ready for merge into the main project. This is an enormous piece of code, much of which is entwined with other work that realthunder has in his branch. As such, the merge will not be a simple matter of rebasing and "clicking the big green merge button."
John (a professional software developer with many years of experience) has been working on reviewing real thunder's branch in depth. He presented a plan to re-sort and break up the complete branch into 20-30 functional steps. He intends to present a schedule and Gannt chart in a forum thread in the coming weeks, and to assist us in doing a merge by:
- Branching from master
- Adding documentation where required
- Make all merges non-breaking (even though sometimes they will be temporary "bloat" as uncalled methods, etc.)
- Add basic unit tests where missing in master and needed to verify correct merge
- Add unit tests to changes
- Submitting a PR to master with a single, tested, non-breaking changeset
Re: FreeCAD Day 2023 - Report and Continued Discussion
Finally, Yorik van Havre (@yorik) asked "What should the FPA Fund?"
He got some answers:
He got some answers:
- More in-person meetings!
- An annual project like Blender does
- Porting open hardware to FreeCAD
- Showcasing things where FreeCAD is actually better than proprietary CAD solutions
- Can we get a foothold at universities? (it's hard!)
- Showcase the guy who designed his house using FreeCAD
- Google Summer of Code - we need mentors, who can help?
Re: FreeCAD Day 2023 - Report and Continued Discussion
This is the attitude I am worried about. If there is something there that is "false" it is a transcription error on my part. We had nearly 50 FreeCAD people in that room, be careful asserting anything was "false." Sometimes possibly we decided "OK, there is a way to do that, but it is indecipherable or undiscoverable," so you can read that as the criticism instead. If I have made a mistake in my notes, please let me know what it is.