LibreCAD 3 GUI Revamp – GSoC 2020


I’m Akhil and I’ll be participating in GSoC this year under LibreCAD for the GUI revamp of LibreCAD 3.

I will be mentored by Florian (Feragon) and Armin (LodOfBikes) this summer as I attempt to achieve all the goals laid out in my proposal.

My proposal aims to solve the following problems :-

1) Shifting LibreCAD 3 GUI Window management from Lua to C++. Having the main window and widget initialization in Lua doesn’t provide much advantage and instead serves as a disadvantage as Lua lacks the compiler checks, unit tests and debugging tools that are available with C++.

A MainWindow C++ class will be created which will take over the responsibility of window initialization and management from the lua scripts.

2) Users wishing to extend the functionality of LibreCAD with their own plugins using Lua need to know Qt should they wish to make changes and add GUI widgets.

A Lua GUI API will be added to make it much easier for users to create GUI widgets and interact with the LibreCAD 3 GUI without the hassle of needing to learn Qt. This will also help us maintain control over the style of the GUI, even those added by plugins. This API will be made to be as intuitive and easy to use as possible along with providing enough flexibility to meet the needs of most users.

3) Qt bindings will be removed and the toolbar will be overhauled to make it customizable by the user, so the user can now have easy access to whichever operation that they wish to use.

Documentation and at least one tutorial for the new Lua GUI API will be added. Efforts will be made to make the documentation as clear and informative as possible. Unit tests will also be added throughout the development process to ensure everything performs as expected.

I shall start off with the shifting of GUI from Lua to C++ and hope to have it done by the first coding period. After that I will add the LuaGUI API bit by bit, working on the customizable toolbar on the side. Finally the documentation and tutorials and all remaining tasks will be completed.

I am absolutely thrilled to be a part of this and look forward to a productive summer, learning and contributing to open source.

Thank you and stay safe everyone!

Project proposal

Link to the wiki

2 thoughts on “LibreCAD 3 GUI Revamp – GSoC 2020

  1. Pingback: LibreCAD 3 GUI Revamp – GSoC 2020 Final Report | LibreCAD

  2. Looking for the Integrated help tutorials for LibreCAD, I am retired and it has been a few years since using AutoCad / MicroStation. I am working on a Mac platform Os10 I have 2 issues I am trying to work through. I am using this Cad Program to create drawings for personal use for building/designing items I build as a hobbie.
    1. The screen seems to want to stay fluid (unable to work on a selected area on the screen with a grid showing where it zooms in and out with the use of the cursor) Is there a way to keep a screen stable?
    2. How to place for example a rectangle by typing in distances (coordinates) after selecting a start point

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.