Home right CV Location Work Google+ Twitter YouTube GitHub Linkedin

Alex Gryson, profile image

Alex Gryson

An idea in the hand is worth ten in the head

Product Owner / UX Designer

Bordeaux, France

FreeCAD Icon Refresh

In 2016/2017 I joined the FreeCAD community and took on the project of refreshing and aligning all the iconography before the release of v0.17.

You can review my commit history on the FreeCAD project on GitHub.

Discovering FreeCAD

I designed the case for DomIO using an online CAD software called OnShape due to its excellent tutorials. Soon after that though they changed their licensing structure rendering the home-gamer projects public by default. Consequently I wanted to look elsewhere and started working with FreeCAD which had all the features I needed, a great support community and was both free and open-source.

FreeCAD Icon Refresh

Loving the software and the community I set to looking for ways I could help out and an obvious way that was within my skillset was refreshing the iconography which until then had been developed organically leading to different styles and patterns depending on the workbench.

Old icon (left) compared to new icon (right) on 3 different background tones to ensure readability

Basing myself off of the original design guidelines combined with the Tango Icon Theme Guidelines I created a set of FreeCAD Artwork Guidelines.


Being an open source project, the most important aspect was talking things over with the community. While my use case may prefer one style or logic, other users would have different requirements and ideas so all changes were passed through the forums before going through the dev workflow.

First I would rework the icons according to the artwork guidelines before running the resulting work by the forums for feedback and changes.

Next, once we were OK with the new work, I'd submit a pull request to the git project before moving on to the next workbench or section.

If any feedback came after the pull request, it was discussed and integrated into its own pull request or merged with other work.