LibreCAD and GSoC 2014 – Under the umbrella of BRL-CAD

This year LibreCAD will be participating in GSoC (Google Summer of Code).

We have tried to get into GSoC in 2012 and 2013 aswell, but unfortunately we where not picked by the good guy’s at google. This year we have been asked by our friend’s at BRL-CAD! Not only did they ask us, but they also asked OpenSCAD and STEPcode.

The main goal of this collaboration is to bring the project’s closer together and hopefully in future we can have these tools collaborate better. Not only on a human level, but also on a integration level for these projects.

For GSoC 2014 we unfortunately will have a lower set a projects due to the lack of resources on our end. Our GSoC 2014 is located overhere : If you have any question’s please don’t hesitate to talk to use on freenode on our #LibreCAD channel or if you want to talk to our umbrella organisation BRL-CAD on #brlcad.

Or send a mail to use through the forum or directly!

R. van Twisk





LibreCAD 2.0.1 Released

Update: 2.0.2 was released after two serious bugs in 2.0.1 were fixed.

After two years of development by our small group of developers, LibreCAD-2.0 is deemed stable enough to replace the aging LibreCAD-1.0.4.Two serious bugs  were fixed in version 2.0.1 after the release of 2.0.0 at the end of 2013. We recommend users to upgrade to 2.0.1 from previous versions of LibreCAD. Windows and OS/X users can download 2.0.1 installers at . If you come across issues due to upgrading from 1.0 series, please report in or at our sourceforge bug tracker.

Some notable changes visible to users:

  1. reworked snapping system to allow simultaneous multiple snapping options; snapping of equidistant middle points;
  2. Helping/scratch layer support. Straight lines are kept infinite and entities are skipped  in printout;
  3. isometric grids;
  4. architectural tick;
  5. support of new ellipse features missing in version 1.0, such as, intersection, middle point, arc length, and tangential direction;
  6. several new drawing features for line, circle, and ellipse;
  7. improved localization, translation for plugins and standard dialogs;
  8. support for a general factor for drawing size dimensions to help scaled drawings;
  9. revert entities direction, developed by effad;
  10. some UI tweaking;
  11. Windows setup registration to add LC in Windows Control Panel
    ‘Programs and Features’.
LibreCAD-2.0 is using a new dxfrw library to handle the DXF file format, and some advantage of the dxfrw library brings are:
  1. New dxf library supporting ascii and binary files, more versions and fully compatible with the specification;
  2. Support of templates;
  3. Dimensions: support for aligned / horizontal text;
  4. Dimensions: added general scale property;
  5. Added support for single line text.
Some internal changes since LibreCAD-1.0 series:
  1. removed Qt3 dependency;
  2. reworked methods to calculate intersections to simplify support for new entity types;
  3. improved many drawing algorithms for performance;
  4. added scripts to allow automatic building on OS/X and Windows;
  5. added boost and C++11 support ;
  6. various code review and bug fixes.
Looking forward to LibreCAD-2.1:
Please share your ideas about the next major release of LibreCAD, and help us reaching there. Help is any form is welcome, and you can talk to us at
The LibreCAD Team

LibreCAD 2.0.0rc3 released

In this last release candidate of our next major stable release 2.0.0, we fixed several critical CAD engine bugs related to arc and ellipse classes, and we also improved packaging for both OS/X and Windows.

While the current OS/X installers are more stable compared with our previous releases, we encourage OS/X users/developers to help the stabilization process by testing and reporting issues/patches to our bug trackars or user forums.

Thanks to contributions from our large user community, LibreCAD-2.0.0rc3 supports 46 localizations in 25 languages.

We will start 2.1 forking soon with the formal release of 2.0.0. and interested developers may start sharing their ideas and pull requests by then. Please join us to make LibreCAD better!

The 2.0.0rc3 installers for Windows and OS/X can be found at:

The LibreCAD Team

LibreCAD-2.0.0rc2 released

After nearly three months of hard work, we are glad to announce the release of 2.0.0rc2 of LibreCAD, one more step towards our next major stable release 2.0.0. A short list of commit log is attached for your convenience.

As of 2.0.0rc2, we expect LibreCAD to be stable enough for daily usage, as we have fixed some serious issues since 2.0.0rc1 and have had more time for testing. As a free software project, we highly value feedback from our user community, whether it’s in form of bug reporting, wiki building, template/library sharing, or a friendly chat on IRC.

Our LibreCAD users would be pleased to welcome our new developers who are working hard to make LibreCAD better: Armin Stebich(LordOfBikes) and Tamas TEVESZ (g0rdon).

Beyond 2.0: please feel free to share your vision on LibreCAD-2.1 with our developers.

Thank you and enjoy LibreCAD-2.0.0rc2!

The LibreCAD Team

Armin Stebich (25):

  • added more initialization regarding bug #396
  • fixed ticket #414, font size of selected length in qg_selectionwidget
  • fixed more ellipse tolerance issues
  • fixed bug #419, MText line spacing not saved
  • fixed missing tr() method
  • load Qt standard dialog translations
  • added Qt translation files to windows NSIS installer package
  • set the output folder for Qt qm-files in Windows NSIS installer config
  • applied patch #38, added strings to translation
  • improvement of windows build batch files
  • merge changes from lordofbikes/master
  • fixed issue with save/restore of snap modes
  • applied patch #39, added strings to translation
  • Merge pull request #402 from alice23/master
  • fixed bug #417 saving layer attributes
  • Merge branch ‘master’ of
  • added plugins translation files and include them in LC and build process
  • fixed typo in
  • fixed windows build in new *.pri files
  • fixed wrong icon file name in LibreCADdoc.qhcp
  • Merge branch ‘master’ of
  • improvement of postprocess-win.bat
  • added missing doc file
  • fixed windows build of ttf2lff, included time.h
  • ttf2lff – eliminate goto jumps in main()

Chris J. Mutter (1):

  • fixed compile error on newer C++11 compilers (g++48, clang33) that dont accept a cast to (char)NULL

Dongxu Li (25):

  • disabled ModifyText button from toolbar Modify, bug #415
  • ellipse3p: fixed a tolerance issue
  • floating point tolerance cleanup, more work needed
  • Merge pull request #398 from jasleenkaur/patch-1
  • updated README
  • fixes for macx building issues
  • use snprintf() instead of sprintf()
  • Do not use stringstream for osx
  • Do not print help layer, bug#406
  • Replacing uint with unsigned for gcc-4.8
  • qmake building scripts for boost, muparser, and freetype
  • fixed a qmake warning
  • Building script for FreeBSD
  • clang building
  • fixed building issues with clang
  • fbsd: script fix for user mode building
  • renamed setting .pro files to .pri
  • exclude images from snapIntersection, bug#426
  • SCMREVISION updated to 2.0.0rc2
  • fixed another compiler warning revert this if this commit causes regression of dimensions
  • fixed a building issue for macx, bug#422
  • minor command line fixes, issue#400
  • updated windows building scripts for Qt-5.1.1
  • dxfrw: disabled output of unused ACADVER key, more work needed to fix the real cause
  • win32: avoid adding empty boostlib to LIBS

Jasleen Kaur (1):

  • updated librecad.dox

Rallaz (5):

  • added patch #37 crash on load fixed
  • correct ellipse extrusion from Florian
  • Merge branch ‘master’ of
  • remove Qt dependency for ttf2lff
  • hack: disable boost lib check in boost.pri

Tamas TEVESZ (16):

  • Corrent limit for strftime()
  • FreeBSD-related fixes
  • Kill unused files
  • Fix permissions on non-executables
  • Fix qmake variable names
  • Rationalize ttf2lff
  • Merge branch ‘master’ of
  • Fix for Qt5
  • Add compiler and Qt version info to About panel
  • Somewhat better fix for building on FreeBSD
  • Tame runaway search and replace.
  • Missed>settings.pri in previous commit.
  • Correct fix for #406
  • Generic approach to detect versioned Qt executables.
  • Some instructions for building on Red Hat-like distros
  • Add pkg-config to dep list for Debian-ish distros

LibreCAD 2.0.0rc1 Released

We are pleased to announce the release of LibreCAD-2.0.0rc1, our first release candidate towards LibreCAD-2.0.0.

In this release, we have improved building scripts for both OS/X and Windows, with the help from our new team member Armin(LordOfBikes). From now on, installers for OS/X and Windows will be always available at the time of a new release.

We fixed many serious bugs in this release, getting closer to a stable release, as shown by the git log attached.

Please keep helping  the development of LibreCAD, and any help is important and highly appreciated whether it’s in the form of donation, bug reporting, or C++ code hacking.

The LibreCAD Team

————————-Change Log since previous release——————–

Armin Stebich (8):
fixed folder name typo in LibreCADdoc.qhcp
Merge remote-tracking branch ‘upstream/master’
adjust the max pen toolbar length to avoid curtailed content
Merge remote-tracking branch ‘upstream/master’
adding scripts/custom-windows.bat for path issues with Qt and NSIS
RS_ActionBlocksInsert: initialising member variables
Merge pull request #396 from lordofbikes/master
fixed issue with build-windows.bat, installer was created without resources

Dongxu Li (28):
arc trim debugging
arc trimming point, more work needed
detect zooming overflow, bug#3608502
bug# 409, fixed an infinite loop
hatch: fixed hatch bug with spline, bug#402
hatch contour tolerance tweaking
info2: fixed a segfault, bug#396
added nsis script for Qt5.0
fixed some compiler warning
fixed some compiler warning for plugins
updated default boost/muparser versions for windows
added script for cli building on windows
fixed an error in windows building script
updated win32 nsis script
building script for os/x
fixed a typo in OS/X building script
updated for building instructions
added wiki link to
updated scm version to 2.0.0rc1
remove old dmg leftover
added windows building script for cygwin
added printsupport dll for windows installer
Merge pull request #395 from lordofbikes/master
fixed a crash at getting intersections
fixed logic in detecting invalid quadratic
updated README for OS/X
updated os/x building script
updated os/x building script

Rallaz (6):
bug #3611536 Line width changes bad saved
correct angle in circle hatch
remove qt3support in nsis script
more correct save of dims in R12
bug #410, correct read symbols in dims
bug #411, correct initialize borders in RS_Leader

LibreCAD 2.0.0beta2 Released

We are pleased to announce the releasing of 2.0.0beta2 of LibreCAD.

After hard working for 4 months, LibreCAD is stabilizing down after many bug fixes for:

1, dxfrw; 2, printing; 3, OS/X specific crashes; 4, some Windows specific building support;

Please continue to help us reach the stable 2.0.0 release faster by using LC-2.0.0beta2 and reporting bugs to our sourceforge bug tracker. Please note it may take days for us to prepare the the installer files for downloading, while the latest source code is always available at:

With the future 2.1 version in mind, we would like to hear more about your ideas on  new features expected in our next stable release after 2.0. Some things we have been talking about: Bezier and spline support, better hatching algorithms, geo-reference support, better command line interface, scripting, and scripting ability, etc.

Even more ambitious, we are very interested in porting LibreCAD to mobile platforms, please feel free to talk to us on mobile CAD at our forums:

The LibreCAD team

LibreCAD 2.0.0beta1 released

We are pleased to announce the releasing of 2.0.0beta1 of LibreCAD.

Some of the new features implemented since the previous alpha release: feature complete of the dxfrw library, SVG export, a “Clear” button for command line, support for both text and mtext entities, filter layer list by regex, several tangential circle drawing methods, a new quadratic form engine for intersections, and hatching of ellipses.

There are also lots of bug fixes.

With 2.0 in stabilization stage, we would like to hear more about your ideas on  new features expected in our 2.1 release. Some thing we have been talking about: Bezier and spline support, better hatching algorithms, geo-reference support, better command line and scripting ability, etc.

The LibreCAD team

LibreCAD 2.0.0alpha4 Released

We are pleased to annouce the releasing of 2.0.0alpha4 after two months of development since 2.0.0alpha3.

New features implemented since 2.0.0alpha3: dxfrw is now the default dxf library for LibreCAD; Painter draws only visible part within the viewport; All intersection point location is by a unified quadratic form; Initial implementation of hyperbola, but there’s no GUI support yet, therefore, not visible to end users; Added a circle drawing method: to draw tangent circle passing two given points.

There are a lots of bug fixing, but we do have some high priority bugs left broken in this release, mostly due to the complexity of those bugs.

Here’s a list of contributors since 2.0.0alpha3 in alphabetic order:

Dongxu Li, Erik Pagel, Mario Frasca, Michał Szczygieł, Rallaz, RoboMod, Scott Howard, unknown(???)

Please feel free to join us to make LibreCAD a great 2D CAD and geometry tool!

The LibreCAD Team

Appollonius Gasket

Creating an Appollonius Gasket in LibreCAD

To test the newly added feature of drawing a common tangential circle of three existing circles, an Appollonius gasket(Leibniz packing) was created using LibreCAD. This symmetric Leibniz packing has a fractal dimension of about 1.305688.

More New features planned for LibreCAD 2.0.0

Following features are planned for LibreCAD-2.0.0:

  1. better spline and Bezier curve support;
  2. complete conic section support after adding of hyperbola and parabola entities;
  3. draw a circle/ellipse tangential to two selected circles/ellipses.

With these terrific features, LibreCAD is expected to work as a general geometry tool even for users who are not in the CAD field, while those features are extremely useful for CAD users as well.

Due to complexity of those exciting features, we call on interested developers to join our development team to further develop this lightweight and feature rich free software.

2.0.0_alpha3 is expected in next one or two weeks with many bug fixes since 2.0.0_alpha2. fparser has been removed from LibreCAD. From now on, LibreCAD depends on muParser ( ).

If you find a bug in LibreCAD, or simply want LibreCAD to do more, please talk to us on #librecad at freenode or file a feature request/bug report at our sourceforge trackers:

The LibreCAD team