CADuntu Beta 4

Hello all!

I am in the middle of moving to a other house, but I guess I can spare a couple of minutes to create a new blog entry.

A couple of weeks ago, I released a Beta3, and shortly after user found some issues, so I never officially announced a Beta 3. I made all changes and here it is… Beta 4!

So what’s fixed then in 3&4?

  • Button/text overlap in toolbar area : 3101744, 3101614
  • Restore and save dockstate: 3091386 patch by Rallaz
  • Replaced older dxflib with new dxf library
  • Added polyline support: from Jan’s qcad free
  • Fixed crash on command line interaction: 3098531 reported by Adamzone
  • Fixed library browser : 3090688, reported by Rallaz
  • Fixed empty images during export: 3095753
  • Closing app works now correctly, when pressing cancel you really cancel: 3103190
  • Layers can be deleted, so as blocks: 3102199, 3105191 reported by rodrigopitanga
  • utf-8 support for layers and block names :
  • Menu errors (also in QCAD) : 3092018 reported by Robert
  • Switching between multiple drawings: 3056455 reported by sliptronic
  • Add some default libraries so the library browser show something.
  • More little things and stuff…

So, all in all I think CADuntu is much more mature now and I am really happy with the support from everybody! There is much more to come, but personally I am hoping to start working on my CAM additions so I can finally put my Mechmate to good use!


What I am currently working on…

A quick update to let you know what I have been doing.

Some people have been supply bug reports to the sourceforge page, and I want to thank them again for doing that, if you didn’t and found a bug or want a feature, let me know on the bug tracker!

At revision 70 I fixed the library widget, thanks to the patch from Rallaz, apart from that a little work was needed to make sure that libraries in a users home directory could picked up and that thumbnail generation worked properly.

I asked Andrew if I can include his Part Library in the CADuntu release because no license information was given, however you are free to download his, or any other parts library and put it in you library directory for your platform.

  • Linux/Unix users : ~/.caduntu/library
  • OSX users use : ~/Documents/CADuntu/library
  • Windows user use : c:\Documents and Settings/<your username>/My Documents/Caduntu/library

CADuntu Library browser

Rallaz also prepared RPM’s for the following Linux distributions : OpenSUSE, Mandriva and Fedora they can be downloaded from this location :

Robert von Knobloch Submitted a bug report where a couple of menu entries where incorrectly displayed, this was solved in patch 69 and 70, thanks Robert for that, I completly over looked it.


CADuntu compile how-to on Debian 64 bit and Ubuntu

Today I did some testing on Ubuntu and Debian to see what’s needed to compile CADuntu on one of these distributions. As such, I installed Virtualbox on my MacBook and downloaded a fresh version of Debian 5.0.6, 64 bits and Ubuntu 10.10.

Compile Instructions for Ubuntu:

I installed Ubuntu 10.10 myself with default settings. Next thing you need to do is fire up a terminal.

Start terminal in Ubuntu

Once you fired up the terminal, you need to install the qt4 development libraries, tools, compiler and subversion.

Running APT to install software

Commands to run:

sudo apt-get install g++ gcc make git-core subversion libqt4-dev qt4-qmake libqt4-qt3support qt4-dev-tools

Depending on what you already have installed apt will find out the dependencies and install the missing software on your computer.

Once you have a development environment on your computer, it’s time to create a source directory and download CADuntu from SVN.

Create source directory and download CADUbtu from SVN

Checking out CADuntu from SVN

Commands to run:

cd ~
mkdir source
cd source
svn co caduntu

Checking out CADuntu from SVN will take anywhere between 5 seconds to 30 seconds or longer, depending on the speed of sourceforge and your internet connection speed. It should end with something like: Checked out revision 69. For you the number will properly be different and higher. Now you can run qmake (or qmake-qt4) to create a makefile.

Running qmake to make a makefile for CADuntu

Commands to run:

cd caduntu/trunc

Time to compile! Simply run make:

Commands to run:


Compiling CADuntu might take a while, depending on the speed of your computer, but just let it run until it finishes. When it finishes, you will see the very last few lines showing something that translations where copied. See below screenshot.

Starting CADuntu

To start CADuntu run the following commands (see above screenshot):

cd unix

For Debian users the process is exactly the same, except that Debian might not have sudo installed and thus you must install the qt4 libraries using a root account. When the libraries are installed, just quit your root account and login as a normal user, then follow the process from ‘checking out SVN’.


Ries van Twisk

Another fine Beta (2) release of CADuntu


I just released a other Beta release of CADuntu. More issues have been solved and CADuntu keeps looking better each day, I am very happy! Also I am happy to see that the community is picking CADuntu up because there are now many blogs (here, here, here and here……. and here ) that wrote an article about it, thanks to everybody! This makes it even more worth to keep working towards the release candidates and final releases.

What has been improved in CADuntu?

  • Fixed 64 bit builds
  • Fixed hatches not showing up (Yan Zagorskih)
  • Better dialog size handing for some dialogs
  • No more toolbar clutter on the left hand side (Reported by Sliptronic)
  • Improved installer for XP, Vista and Windows Seven
  • Improved status bar message handling

I already got some reports that CADuntu didn’t work on a 64Bits OS like here so I also fixed and tested this on a Debian 64Bits, this would make all 64Bits users very happy. I got in a patch from Yan thanks! that found a bug with hatches, that where not shown up correctly. Also there was a bug where during operations the screen wasn’t updated properly. For example when you selected a line in trim mode, the line would not show up as selected.

With 266 downloads (as of today) am am very happy with the result and how this was picked up you can download a new version at SF overhere:

Ries van Twisk

Beta1 status is reached!

Today I was looking at my roadmap, and it pretty much looks like I reached my beta1 status goal. In my first post I did mentioned I needed to have the following solved for beta release:

  • Make it work as if you are on QCad CE, but then with the qt4 interfaces – DONE
  • Fix all segfaults – DONE

However, not only that was solved, I also managed to make basic OSX and Windows packages. They are pretty much ‘bare bone’ and for OSX I really want to make a DMG installed, but now it’s just a zip. Most people on OSX would know what to do with that, right?

Anyways, for windows I created a NSIS file that will be soon committed to SVN so anybody that knows NSIS better then me, and that should be pretty much everybody that knows NSIS can create a better version.

Hope you enjoy this version of CADUntu and please leave a comment if it worked, or if not worked for you here or in the tracker in sourceforce.

R. van Twisk

Moved away from forms3, hurray!

I just committed a new version of CADuntu, with it’s main ‘new’ feature that I moved away from using forms3 and uic3 and the forms now are natively qt4. That said, the project didn’t move away your from q3support so that’s still in there. I feel that this isn’t really a real biggy, as long as the software works as it suppose to work, right?

I still have some standing issues reported by sliptronic and I feel that they are annoying enough to keep this software still in Alpha. Sometimes the icons seems to clutter, and text queues in multi-step operations are not shown correctly. These are somewhat the more harder items to tackle because I haven’t played around much with that area of the software. However, in reality I haven’t seen any crashes anymore since a update a couple of weeks ago.

I would like to invite you to try and compile it, if you want I could make a screencast how to compile and run on Windows. It’s really not at all that hard, you only need a SVN client like TortoiseSVN and the QT4 SDK (use the lgpl version), even I could do that on windows!

anyways, I truly hope I can make a binary release for windows pretty soon as soon as I have figured out how to make a install script. Somebody suggested to use NSIS

Ries van Twisk

Bug fixes and new selection box

CADuntu's new selection boxSliptronic has been giving me a lot of feedback lately, and I am trying to squash the bugs as fast as he puts them on my desk, It’s kinda fun  working this way and I am very grateful he does test CADuntu and provides feedback. So today I have been working on getting the screen properly updated after a entity is de-selected. There are/many of these sort of issues because the way QCad used to renders on the screen isn’t supported by Qt4 anymore. Mostly notiably XOR operations during drawing and in Qt3 3 it was possible to draw outside of the paint event. With Qt4 all this work has been brought inside the paint event. For this, 3 QPixmaps where created:

  • Layer 1 -> Draws grid and paper, basically the bottom layer
  • Layer 2 -> Draws the actual drawing
  • Layer 3 -> Draws the overlay, items that are currently in action like moving and drawing of lines, but also the Snapper and selection boxes.

This will speed up overlay performance of CADuntu by not drawing everything over an over again unless we have to. Second, by moving this all in the paintEvent we can take advantage of graphics acceleration.

So, today I worked on getting the [Edit] menu fixed with proper check marks for [Grid], [Draft] and [Status bar] and with accelerators so they can be accessed through they keyboard commands.

On last item I made today, was a colored box with alpha layer selection of entities. This looks a lot better, and I feel it’s much more clear then the original cyan colored rectangle. Here is a small video that snow’s that in action :


CADuntu roadmap

First, a little history about CADuntu and why I started to do the QT4 port.

Initially, when I was working on my CNC machine I was slightly irritated by the fact that I couldn’t ‘send’ my design directly from QCAD to EMC2. I had to save the file, load it into dxf2gcode, save it back again and load it back into EMC2. This looked a rather time consuming. And as such, I decided to make a little CAM additional to QCAd CE.

When I started to do the work, and looked around I noticed there where a lot of complains about that QCad CE was only available for Qt3, and if I would give my CAM program any change to be used by others, I came to the conclusion that I needed a version of QCad in qt4. When looking around, there where some projects available, ideas and what not… But nobody really did it start to finish with a well working version of QCad that could be compiled and run on Linux, OSX and Windows with the default QT SDK. So I decided to make my own port, this would lead me to the advantage of knowing QT’s internals better, in case I needed to know that during my CAM project. And hopefully this version of QCad will be taken into the many Linux distributions.

So, here is the roadmap aka TODO list:

  • Get CADuntu be compiled on Windows, Linux and OSX – Done
  • Reorganize the sourcecode so it only needs one QT .pro file – Done

For Beta release:

  • Make it work as if you are on QCad CE, but then with the qt4 interfaces – work in progress
  • Fix all segfaults

For final release:

  • Build accelerators for menu’s – in progress

After Final Release

  • Move away from qt4support library – in progress, but many things todo still
  • Build Windows and OSX packages – TODO
  • Add CAM utils like pocketing, profiling etc…

last thing, why the name CADuntu?? It sounded fun but it has nothing TODO with the Ubuntu project.

R. van Twisk