Google Summer of Code 2023 - Coding! Up to July 10th

I’ve submitted the motor design workflow proposal draft. While thinking of it, I figured out that since it would require defining material properties, the materials database can also be a good addition here, although we can currently do it by manually defining the properties. Also, I’ve listed the project size as medium, since I think I can make this project either very detailed or limit it’s scope to fit in the timeframe. I’d prefer the former, but I don’t know how long it will take yet.

I’m currently sick from dust allergy after dusting my room. Please review my proposals and make any suggestions.

Hey there, i’m David and i’d like to participate in this year’s GSoC event. I’ve had an inital look at the code and prepared a draft proposal based on the Unified Measurement Facility task - https://github.com/FreeCAD/FreeCAD/issues/8561. As noted in the project list kkremitzki would be the mentor. It would be great to get feedback:
GSoC 2023 Proposal.pdf (39.9 KB)
The key difference to the existing task is that i’d like to exclude annotations like the Draft and TechDraw commands from the project as they don’t seem to fit well. Secondly this project would include reworking existing commands rather than just combining them on the UI level.

I still have some open question:

  • Is it possible to expand the timeframe for this project?
  • Is it alright to focus on measurements only?
  • Are there already other base commands which get extended by workbenches?
  • Is there already an abstract representation of geometry in FreeCAD’s base that could be used for the measure command which shouldn’t know about specific geometry types?

may I ask what existing commands do you intend to rework? Have you explored the existing measure tools? The issue description is not really just about “combining at UI level”, most or all of them are very lacking so it really is about making a new tool that can satisfy the needs for most cases and can be used as a global toolbar.

  • Is there already an abstract representation of geometry in FreeCAD’s base that could be used for the measure command which shouldn’t know about specific geometry types?

I don’t think that’s desirable, a measure tool is most likely more useful if it knows about geometries.

Are you saying that in future, users who open Techdraw pages containing Annotations created in recent FreeCAD versions will be left with blank text everywhere? Maybe I’m the only user who add Annotations quite regularly to Tech drawings in order to point out specific requirements for the engineer(s) carrying out the work, (e.g. use of specific lubrication, plating spec, shot peening, acid dip), slightly alarming reading this. wandererfan do you have any input here purely regarding Techdraw?

Edit:remove mention ping

Excluded from the GSoC project = not touched
This shouldn’t have any effect on techdraw

Apologies for the noise.

Sorry this was actually confusing, i’ve described the planned approach in the chapter “project details” in the document.


This is more of an implementation detail. Afaik a global tool cannot and should not know anything about a geometry type that is defined in a workbench.

possibility to give a measurement without using dimensioning, dimensioning hides everything behind it

Welcome hlorus !
I cannot see your proposal - it says “access denied”…
The time of we give on the ideas (175h / 350h) is only our idea. Feel free to propose something else if you feel it’s appropriate.

To all candidates: remember the deadline is next Tuesday, April 4th! We need your proposals in well before, so we have time to review!

A couple of hints to write your proposal:

Typical proposals should be around 3 or 4 pages, and contain:

  • A description of what you intend to do. That’s where you explain what your project is
  • Info about yourself: contact info, where you live, some background about yourself, where you studied/are studying, maybe some of your interests, etc. Things so we know you better.
  • A commitment that you are ready to spend the necessary time on the project, and how you plan to spend it. It does not need to be a precise week by week schedule (but it’s great if you do!), but grossly how you plan to work during the GSoC time. We want to see that you thought about it and are serious about it.
  • Something about either previous involvement with open-source projects, or that you engaged with the community already, and all you can to demonstrate that you already took the necessary steps to know your subject: That you already installed the software, played with it, compiled it if that’s something you’ll need for your project, understood what needed to be done, etc.

Remember, who gives the final judgement is Google. Write this not for us but for Google people, who don’t know FreeCAD nor you: Show them you know what you are talking about, and that you are ready to do it seriously, basically.

Guidelines: https://google.github.io/gsocguides/student/writing-a-proposal

Template: https://www.drupal.org/community/contributor-guide/reference-information/google-summer-of-code/gsoc-proposal-template

Sorry about that, i’ve updated the link.

I ment expanding in terms of splitting the workload of 175h over a longer period. Basically what’s written on the GSoC website (https://summerofcode.withgoogle.com/programs/2023):
"The standard timeline accounts for 12 week coding projects. Mentors and GSoC Contributors can agree to extend the coding period up to 22 weeks. "

Indeed, from https://developers.google.com/open-source/gsoc/faq:

The GSoC 2023 program has some flexibility in the schedule for projects. The length of time allowed to complete a project can range from 10 weeks to 22 weeks. The standard length will be 12 weeks, however, GSoC Contributors and their mentors can decide together if a project should be extended to end a couple of weeks/months later.

The program start date cannot be changed, everyone will begin the program at the same time.

You and your mentor may jointly agree to adjust the scheduling of milestones or weekly work schedule to allow for some flexibility within the overall program framework.

The first evaluation date is based at the halfway point of your expected project timeline (after 6 weeks for projects in the standard 12 week schedule).

AFAICS you can request a 22-week schedule, even after the project has started. From our point of view, there is no problem in doing so. But keep in mind that by doing so you are also requesting mentors time for a longer period, so I would suggest discussing the matter after the project has started and you know your mentors.

BTW, for everybody, links to students and mentors manuals: https://developers.google.com/open-source/gsoc/resources/guide#student_manual

Generally this is true however this is a worthwhile exception, it wouldn’t be the first either, see for example the persistent cut tool that is globally available on the “View” menu.

Personally I think we need more globally available tools that know about occt shapes, measurements being one of those.

Of course, this means you won’t implement this on the FreeCAD App side, but rather on the Part module most likely.

hlorus very good proposal! For me you could file that as is. Maybe, although you mention working mostly on measurement, which is totally fine, I would add a few lines explaining how you imagine the measurement vs annotation/dimensioning paradigms could be approached, ie. propose something so the measurement structure could be used there too.

Hello,
My name is Anthony Chen and I am currently a Master’s student in Mechanical Engineering at Stony Brook University. I am interested in working on a project with the ideas from FEM: Extend Z88 Solver #8559. My background for this project consists of experience using 3D CAD programs like Solidworks and Fusion 360. I have also used the FEM/FEA tools in Solidworks and have taken graduate classes in FEM.

I became interested in getting into programming and software development last year by joining hackathons and I have used Python for about a year. I have never contributed to open source before, but I would love to combine my new knowledge from programming with my knowledge from my Mechanical Engineering background to improve the FEM tools in FreeCAD.

If there is anyway to get some feedback on some projects ideas I have before submitting a proposal, I would love to share!

Welcome anthonychen1202!
I would consider donovaly’s comment on the github issue… Maybe there is a better plan possible. There is a dedicated FEM section here on this forum where the FEM gurus are… Maybe ask for ideas/opinions there? You could quickly grab good ideas.

Hi everyone!

My name is Tanausú Hernández, PhD student in physics at the Polish Academy of Sciences. I know I am a bit late to the party but I would like to participate in the GSoC with sliptonic idea of on-machine inspection for the Path workbench. I am particularly interested in extending it to post-process 3D printed pieces, as I was in fact thinking something like this would be very neat some years ago.

I was a member of a hackerspace where I did a lot of 3D printing, laser cutting and a tiny bit of CNC machining, although now with the PhD I barely have time to do anything else so I’m hoping this project gives me a good excuse to go back to the maker world. My idea is to allocate a full vacation month for this, so I can only work on medium-sized projects (175h).

My programming background is basically Python since I use it on a daily basis for scientific research. I have dabbled in other languages like javascript and C++ but I don’t have much experience with those.

What is the best way to get quick feedback for my proposal? Should I send the draft proposal on the GSoC website or is it better to do PMs, write something in the forum, IRC or discord?

Best,
Tana

Hello! I’m Siddharth Lal from India, I’m a python developer and currently I’m doing my bachelor’s in CS Major, and I wish to contribute to FreeCAD and become useful to the community. As of now I’m testing the software and going through the repo. Since very less time left to the deadline, can a mentor please guide me which areas require unit testing or any other areas that require python so I can quickly go through them?

Hello everyone! My name is Arsenii and I’m applying for GSoC with topic related to GUI for fetching online content https://github.com/opencax/GSoC/issues/39. I’m a civil engineer and currently studying on BIM Master program BIMA+. Here is my first version of proposal. But it is brief in a way of storage implementation and I’d also add some vision of future of this project. Anyway I’ll be thankful for any feedback
GUI for fetching online content in FreeCAD with Python (1).pdf (704 KB)

Welcome tanahy Siddharth senyasuper !

tanahy You can always post it here or under a corresponding github issue if there is one, if you are ok with everybody looking at it. Otherwise, you can send it by PM to any of the devs working in the area of your proposal.

Siddharth I think chennes , maybe openBrain, Kunda1 or ickby could indicate areas where python unit tests could be useful. But one first step you could do yourself is look at what is already available, and if any workbench seems to have few tests or is entirely missing unit tests.

senyasuper this looks very good to me! chennes you might want to have a look?

Love it! Just a note that it’s not just STEP files up there: in many cases they are FreeCAD *.FCStd files, which we of course want to support! You’ll be using the PySide GUI framework (and will have to take care that you support PySide2 and PySide6, which FreeCAD makes pretty simple). And we definitely will want to support both “official” cloud storage and local storage, as well as possibly 3rd-part cloud storage (though that could be someone else’s add-on project down the road).