GSoC 2014

From LibreCAD wiki
Jump to: navigation, search

GSoC 2014 logo

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.

Languages Difficulty Contacts
LibreCAD 3 kickoff: LibreCAD is a popular 2D CAD tool but is based on a old (10 years old) codebase that is hard to add features to. LibreCAD 3 aim's to completely rewrite LibreCAD in different different libraries to make coding against librecad easer. C++ MEDIUM R. van Twisk
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.

C++ 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. C++ MEDIUM R. van Twisk <>,dli (Dongxu Li < dongxuli2011 at gmail >


1) To create patch first clone our repository and make a new branch

$git clone
$cd LibreCAD
$git checkout -b new_branch

2) Update your code in new branch
3) Create a patch:
Assuming your changes are in new branch and didn’t yet merge it to master branch.

$git format-patch master --stdout > my_patch.patch

This will create a new file my_patch.patch with all changes from new_branch
Now, you have a patch for the fix you wrote. Send it to the maintainer of the project …

It's recommended to use github's pull requests instead of patches: Using pull requests