LibreCAD is preparing for GSoC 2018

LibreCAD is again on course for a Summer of Code with Google in 2018.

The first step is done, our umbrella organization BRL-CAD is again selected for mentoring students in GSoC 2018 and so we are too.
Now its up to eligible students to take the challenge and get in contact with us to prepare a great proposal, so we can get at least one of the treasured slots.

More information is available on our wiki page GSoC Check List and the Google site linked above.

The LibreCAD Team

2.2.0 Release Candidate

There were more than 250 commits since 2.2.0-alpha, thus it was overdue to get rid of the alpha in the tag now.
With some more improvements in the last couple weeks, we switch directly to Release Candidate as the response from community is, that the master branch is stable.
There are only some minor changes in the line before the final 2.2.0 release.

Punctual with the release of 2.2.0-rc1 SourceForge’s file upload is down because they moved to a new datacenter this week. They work hard on it.
When the upload is available again, we will supply the new installer there.

Source code and a Windows installer is available on GitHub already: LibreCAD-Installer-2.2.0-rc1.exe

Kind Regards,

LibreCAD team

Valuable asset leaving our LibreCAD team

We have a very valuable asset leaving the LibreCAD team. Due to personal obligations Dongxu, for some better known as dli on the LibreCAD IRC channel is leaving LibreCAD.

Dongxu was responsible for all LibreCAD 2 versions and have been working within LibreCAD  on various part’s of it’s internals, I think it’s very to say that LibreCAD wouldn’t have been at we are right then without Dongxu. Dongxu was a very active member on the IRC channel (irc://#LibreCAD@freenode.net)

Lucky for as we have a few other very active member within LibreCAD that are handling a lot of the work for releases, translations and fixes. We also started doing our GSoC project with two students and even we are just one and a half week in, we are getting some great patches for the LibreCAD 3 version!

!HELP WANTED!

If you are interested in CAD and know a fair bit of c++ (no, we don’t ask you are a guru, just reading the code and beable to debug is enough), you are more then welcome to join us! We are an open source community and CAD is in our hearts.

Kind Regards,
LibreCAD team!

LibreCAD 2.0.8 released!

It has been 8 months since 2.0.7, and LibreCAD v2 has become better.

Exciting New Features:

1. DWG read support! Big thanks to our CAD expert @Rallaz ;
2. SVG export support! Salute to @dinkel ;
3. Arabic Language GUI support. More work is needed for:
* Right-to-left support for Text entities;
* Arabic fonts for Text.
4. More user configurable settings in App Preferences.

Under the hood, there’s lots of cleanup and coding style tweaking towards C++11, and the code base should be cleaner for new developers.

There is also lots of GUI and user experience tweaking, mostly following user requests. Clearly, LibreCAD needs help from more developers with the large volume of feature requests and bug reports from our user community.

A list of all commits since 2.0.7 can be found at 2.0.8 Forum Announcement

Feel free to join the development, if you are interested in C++/Qt.

The LibreCAD Team

LibreCAD 2.1.0, what are we up to this time??

I thought we should make a little update on what we are doing.

After months of development, LibreCAD v2 is ready for a 2.0.8 release in next days, while our developers are still busy to get version 2.1.0 ready.

What’s new in LibreCAD 2.1.0 are some new GUI interface and most notably fixes for icons on HD displays like Macbook retina, in addition to all fixes and enhancement found in 2.0.8. This is a lot of work and we are still with limited resources! (Software developers, see this as a call for help!) We are still working on the 2.1.0 release but with a little luck this should happen soon, within weeks if we are lucky.

The crashes in our build server was properly caused by a overheating mac mini and we are working on getting that replaced by a new mini for our automated builds. For the moment we do build OS/X by hand but the windows build’s are now automated using a proper build server. All thank’s to everybody that has been supporting LibreCAD financially and with kind words and help.

LibreCAD 3 is at the moment on hold but I will call out for help later this year once we are ready again to work on it. We need strong c++ developers with at least some knowledge of c++11 and people that can design and work with API’s. LibreCAD 3 is a lot about being able to integrate into other applications and to build stand-alone tools around the libraries. While LibreCAD v2 is more of a monolith, LibreCAD v3 will be divided into a set of libraries. For sure we will build a UI around it, but we will also have the option to make a scriptable version of it’s core engine. One of our development goal is to design a 2D engine to be used in 3D CAD, such as FreeCAD and  BRL-CAD. Another interesting development is Web based LibreCAD by addition of an HTML5 canvas drawing engine. With an ambitious development plan, we are calling for developers interested in 2D CAD, computational geometry, C++, experienced with API designing and being not shy of a bit of refactoring a code base once a while.

As always, many thank’s for your support and we are looking forward for information, idea’s and just a ‘thanks!’ on our #librecad IRC channel at freenode.

Team LibreCAD

LibreCAD is participating in GSoC 2015

hey All,

LibreCAD is participating again in GSoC 2015. That doesn’t mean we are selected yet! This week is what Oscars is for Open Source projects, the selections for participation in GSoC 2015. We hope we can participate again because last year we had a great time!

I will update after second of march and let you know if if we got any slot’s this year.

Ries

 

 

LibreCAD 2.0.7 released

LibreCAD 2.0.7 missed the Christmas party and new year eve, but only by days.
First, major fixes: a serious command line regression since 2.0.6: keyboard Enter/Esc support, command line widget in a second screen, etc.  Also fixed are some crashes for tangential circle drawing and polyline addition.

Downloads:

http://sourceforge.net/projects/librecad/files/Windows/2.0.7/

OSX user’s unfortunately need to use macports to install LibreCAD. We are still short on OSX developers and we cannot seem to get the installed and it’s functionalities stable. We are terribly sorry about that. However, once you installed macports you can installed LibreCAD using

sudo port install librecad 

Any brew user’s/dev’s reading this? We would love to also support brew and would highly appreciate if somebody can help us out with brew.

LibreCAD 2.0.7 got a boost on LFF font support with kindly help from: 

  • Petr on Czech fonts in unicode.lff
  • stranger573 on OpenGost
  • AZO on Japanese fonts kst32b.lff

As a new command line feature introduced in 2.0.7, the command line can be used as a calculator by typing math expression after command “cal”. For example command “cal 1+1” to get output “2” 

There are many fixes and enhancement, and please refer the git logs for more details. 

Armin Stebich (11): 

  •       updated Qt version to 5.3.2 for Windows build in README.md
  •       .gitignore clean up, ignore all custom *.* files
  •       improvement of Windows build scripts, pass SCMREVISION to NSIS installer
  •       build-win-setup.bat: allow setting custom NSIS file to match local Qt version
  •       fixed sf.net bug #481, disappearing offset line when zooming 
  •       fixed st.net bug #482, misaligned arc option widget on windows 
  •       fixed Splash Screen GroupBox size in Application Preferences, was malformed on Windows
  •       fixed warning in qg_dlgoptionsgeneral.ui
  •       fixed broken HTML tag in doc/index.html
  •       applied patch #460, i18n for desktop file by glixx
  •       fixed github issue #464, switch tab-/sub-window mode with single document


Dongxu Li (67): 

  •       updated SCM version to 2.0.7
  •       selectWindow: no need to set pen for preview
  •       osx use bz2 compressed DMG
  •       circle tan1_2p: avoid duplicated centers
  •       circle: tan2_1p, fixed a crash by right clicking
  •       trim: polyline not by ::trim()
  •       bug#480: fixed crash due to new spline addition
  •       tan1_2p: improved geometrical algorithm
  •       bug#481, fixed nearest point on line
  •       tan1_2p: code correctness
  •       Appollonius: fixed a regress, show candidate centers
  •       appollonius: fixed algorithm to get all possible solutions
  •       ignore certain compound entities when catching
  •       file cleanup
  •       trim: cleanup
  •       fixed enter command, select toolbar regression
  •       tan2/radius: file cleanup
  •       tangent circles: GUI cleanup
  •       commands: added divide and fillet
  •       divide: file cleanup
  •       unified getDistanceToPoint(): experimental
  •       Czech fonts in unicode.lff, by Petr
  •       add GUI actions by new helper functions     Squashed commit of the following:
  •       updated help item
  •       actionPolyline: show options according to mode
  •       added c++11 to CONFIG
  •       muparser: c++11 compiler warnings
  •       polyline: added icons for arc direction
  •       opengost fonts by stranger573
  •       fixed opengost fonts: license, encoding
  •       opengost fonts: fixed encoding
  •       opengost: added blank line at file end
  •       README: fixed a typo
  •       unicode: fix by Petr
  •       bug#485, allow snap to center within an image
  •       fixed a filled arrow brush bug
  •       splinepoints: restore painter pen
  •       line patterns: cleanup
  •       line pattern: use static constants
  •       bug#454, commit e1db360d was lost
  •       added offset to Modify menu
  •       commands: avoid short command ambiguity
  •       command: more short command cleanup
  •       removed c++0x from CFLAGS
  •       lineType: added tiny line types
  •       ascii: allow reading in raw 2D data without point number column
  •       export pdf: append .pdf file extension by default
  •       command: added cli calculator by cal/calculate
  •       fixed a compiler warning
  •       key events: avoid filtering of Enter/Escape
  •       allow Enter/Return for command Continue
  •       updated opengost fonts by stranger573
  •       issue #469 : fixed regression on shortcuts
  •       Updated KST32B Japanese fonts
  •       fixed a typo in KST32B fonts
  •       Added CAD toolbar to main menu View
  •       custom paper size: troubleshooting
  •       win32: updated to Qt-5.4.0
  •       Use Qt arch paper sizes
  •       added printpreview to file toolbar
  •       fixed a qt4 building error by papersize
  •       bug#491, update leader arrow size by drawing options
  •       fixed a rvalue reference compiling issue
  •       disabled command widget event filter
  •       bug#492, dimension extension fixes
  •       unicode.lff: typo
  •       fixed menu item: offset

Pootle (3): 

LibreCAD 2.0.5 is released!

We are pleased to announce the release of LibreCAD 2.0.5.

Windows and OS/X Mavericks(10.9) installers can be found:
Windows: http://sourceforge.net/projects/librecad/files/Windows/2.0.5/
OS/X Mavericks: http://sourceforge.net/projects/librecad/files/OSX/2.0.5/LibreCAD-2.0.5-Mavericks.dmg/download

In this 2.0.5 release, we added or changed since 2.0.4:

1, interpolation spline, Draw->Spline->Spline Points  (designed by Pavel Krejcir);
2, File -> Export as PDF
3, Korean language support;
4, smooth scrolling/zooming (designed by Oskar Linde);
5, allow user to hide splash at loading;
6, gcc-4.10 support;
7, Work-in-progress, finding enclosed area within a contour;
8, added appdata.xml;
9, “Modify->Round” renamed to “Modify->Fillet”
10, command line aliases can be made for both regular commands and short commands.

We also fixed many bugs since the 2.0.4 release.

The LibreCAD Team

LibreCAD v3 : A work in progress

Project : LibreCAD v3 Development.

Hi all, this is Gaganjyot Singh here. I am pursuing Bachelors of Computer Science and engineering at Chandigarh Engineering College, Chandigarh, Punjab. This year, I got a chance to  work for a pure CAD software. The LibreCAD. LibreCAD had a plan for a version 3 and the creator of LibreCAD had some code which he created 2 years ago for the v3 development. I begun working on the code. My first priority was to develop, polish and enhance the 2D kernel.

Looking towards the LibreCAD, the Code is kept pretty modularized so that the user can have choice. For example the LCviewerNoQt contains the code for rendering the drawings on the screen. At the moment the functionality is moved from Qt to Cairo but in future, the user may have an option to choose between Qt, Cairo or may be OpenGL too. This modularity is also designed keeping in mind the extensibility and usability of code. The LCKernel is a robust 2D kernel being developed at the moment. So it can be used in any other software which may require such functionalities ( transformations, Intersections etc). LibreCADv3 currently uses Lua as its scripting language, which is pretty finalised. The modularity code allows the developers to add their favourite scripting langauges, may be python, ruby or any preferred. The design principles of the LibreCAD v3 include the immutable concept. Every entity in the kernel is assigned with an ID at the time of creation. Whenever a transformation is to be processed on entity such as a move or rotate operation, the new data ( Coordinates, Radius, start/end angles ) etc are calculated and a new entity is created at the Coordinates calculated with the same ID and the older entity is deleted.

My main project was just concentrated over the kernel but the concepts to be implemented till the mid term were implemented very quicly so I went on implementing other extra functionalities to the code.

Tasks completed,

  • Implemented the Move, Copy, Rotate and Scale operations for all the entities.
  • Implemented Ellipse in kernel and viewer
  • Implemented Text in kernel and viewer
  • Implemented Point in kernel and viewer
  • Implemented Dimensioning in kernel
  • Implemented Arrowheads in viewer
  • Implemented MText in kernel
  • Spline in kernel.
  • Splitted the Viewer into ViewerQt and ViewerNoQt part
  • Ported LibreCADv3 to use CMake

My future work includes,

  • Porting of the Quadratic solvers from v2
  • Implementing the interseciton pattern in v3
  • Creating the Unit tests.

The nature of my project is Dynamic and research based( Sometimes ). So sometimes the code gets implemented before time and sometimes it takes longer then expected. Completing the above remaining tasks, I do expect there will be time left which I will be using in adding extra functionalities to the program. Expected functionalities which I plan to implement include DXF support, work on the UI portion.

My commits, code addition and deletion is as,

65 commits

24524 Additions

15446 Deletions

Off Topic:

While coding with the LibreCADv3, I shared it with a group of my friends and the played a bit with the Lua scripting and designed marvellous designs.

https://gurpindersingh751.wordpress.com/2014/06/10/10-june-2014/

https://gurpindersingh751.wordpress.com/2014/06/08/8-june-2014/

https://navdeepsaini48.wordpress.com/2014/06/08/taijitu-code-for-libre-cadv3/

http://jagmeet787.wordpress.com/2014/06/08/8-june-2014/

http://jagmeet787.wordpress.com/2014/06/07/7-june-2014/

http://darshpreets.files.wordpress.com/2014/06/storm.png

http://234satwant.wordpress.com/2014/06/10/logos-using-lua/

Please Vote for LibreCAD at SourceForge

LibreCAD looks good on SourceForge. We will be on the ballot for the July Project of Community Choice SourceForge project of the Month.

If you have a sf.net account, please login to vote for LibreCAD at https://sourceforge.net/p/potm/discussion/vote/thread/a278b79a/ . If you do not get a sf.net account yet, voting for LibreCAD is a good reason to register for one, and be able to submit bug reports and feature requests for LibreCAD at sf.net.

The LibreCAD Team