GSoC 2015

LibreCAD Projects Ideas

LibreCAD is a free Open Source CAD application for Windows, Apple and Linux. Support and documentation is free from our large, dedicated community of users, contributors and developers.

REMEMBER These are ideas for GSoC, if you want to work on a other subject then any of the the below that will benefit LibreCAD, then please don't hesitate and let us know! Contact me (Ries) or Dongxu and let us know your thought's and ideas!
We ar looking forward to hear how you want to improve LibreCAD!

Languages

Difficulty

Contacts

LibreCAD 3 UI Phase 1: After the project in 2014, LibreCAD engine is maturing, and it's reasonable to add GUI support for drawing and editing actions to start exposing it to end users. We have separated this in 2 phases

First phase:

Within our current LibreCAD 3 there is a library that handles drawing of entities.
This needs to be extended such that it can handle mouse/keyboard input and have the capability to create entities within our document. We require a framework that can easily be extended such that other entities can be created with or without constrains.
Constrains can include must be a extendable framework

Snap on grid

Snap on snap point's of entities

Snap tangent on other entities

Vertical/Horizontal constrains

others...

This portion doesn't require a UI with icons/buttons but a API in/around the document canvas that can handle the above such it can be included in other applications other then LibreCAD (BRL-CAD/FreeCAD etc...)

LibreCAD 3 UI Phase 2: After the project in 2014, LibreCAD engine is maturing, and it's reasonable to add GUI support for drawing and editing actions to start exposing it to end users. We have separated this in 2 phases

Second phase:

Build a UI that communicates with the document canvas. This is the portion that does have the UI/Buttons/Menu's We are leaning towards using QT but any other UI framework is open to suggestion.
Initially we are looking towards the framework portion so we can work and extend but at a minimum we should be able to draw and manipulate the basic entities.

Improve precision and robustness of equation solvers: LibreCAD uses its own equation solvers for polynominal equations and systems of equation up to the quartic order. Robustness is of great importance for features such as finding common tangential circles. An ideal solution involves adding multi-precision support for the current equation solvers in used by LibreCAD, either by using a 3rd party library or by direct implementation.

Conic curve support: LibreCAD supports basic entity types including ellipse. It's desirable to have support for parabola and hyperbola as primitive entity types, giving the LibreCAD equation solvers are capable of handling quartic equations. This imiplementation should be in LibreCAD V3, but backporting to the current stable release V2 is also encouraged.

SmartSnap: Currently LibreCAD has various snap capabilities, but they are only directly on entities, or on the grid.

With smart snap LibreCAD can find endpoints, length, arc sizes of the 'same' at different locations. This allows for much faster creating of drawings because entering of new entities require less steps. Each time LibreCAD finds a smart snap, the point or entry would light up on the screen showing the users the snap interaction.

LibreCAD on mobile: Qt5 support for mobile (Android and iOS, see Qt mobile. The framework of creating a mobile version LibreCAD needs to be created. This platform support should be implemented for the LibreCAD V3, but support for the current stable release (V2) should be considered during the framework design.

Qt Android iOS

MEDIUM

[[dli (Dongxu Li < dongxuli2011 at gmail >]]

Support for multiple units upon data entry: Similar to feet and inches support, support for supplying LibreCAD with different units. For example if LibreCAD was set to 'foot' in the unit setup, it should be possible to enter a unit of [1" + 2'], or [1.2meter]. LibreCAD would then convert the entered units to the unit LibreCAD is operating/set for. Various measuring system should be supported.