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

7 thoughts on “CADuntu roadmap

  1. OK, I found your tarball and am trying to compile.
    [OpenSuse 11.0 – gcc version 4.3.1]

    Which GCC version do you use ?
    Have I got a header missing somewhere ?
    ISO compiler option ??

    I get many compile errors of the type:
    src/lib/engine/rs.h:596: error: ‘ShiftModifier’ is not a member of ‘Qt’
    src/lib/engine/rs.h:597: error: ‘ControlModifier’ is not a member of ‘Qt’
    src/lib/engine/rs.h:598: error: ‘AltModifier’ is not a member of ‘Qt’

    and also:
    src/lib/engine/rs_entitycontainer.h:104: error: ISO C++ forbids declaration of ‘Q3PtrListIterator’ with no type
    src/lib/engine/rs_entitycontainer.h:104: error: expected ‘;’ before ‘<’ token
    src/lib/engine/rs_entitycontainer.h:190: error: ISO C++ forbids declaration of ‘Q3PtrList’ with no type
    src/lib/engine/rs_entitycontainer.h:190: error: expected ‘;’ before ‘<’ token

    cheers, Bob

  2. Bob,

    I am compiling this on GCC 4.2 on OSX, and on Linux I use GCC 4.4.
    what version of qt do you have installed, the version I have tested it with is 4.4 and 4.6 versions.

    This is a list of currently tested platofrms:

    Ubuntu Lucid
    gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
    Using Qt version 4.6.2 in /usr/lib

    —– (RVT)
    OSX 10.5.8
    i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5493)
    Using Qt version 4.6.3 in /opt/local/libexec/qt4-mac/lib

    —– (RVT)
    Debian 5.0.3
    gcc (Debian 4.3.2-1.1) 4.3.2
    Using Qt version 4.4.3 in /usr/lib

    —– (RVT)
    Windows XP
    Using Qt version 4.7.0

  3. Great beta 2 release! Very good work.

    A quickstart manual would be wonderful. If not, have you got any tips or hints manual?

    (I’m not used to CAD applications, I’m having some difficulties to start moving entities and joining entities)

  4. I have been looking through the code and I think (if I have understood well) that it would be desirable to change to the new features of Qt4 regarding graphics.

    I mean the classes QGraphicsScene , QGraphicsView (a QWidget child) abd QGraphicsItem.

    They are devised as far as I have read to deal with many many drawing entities using a BSP – binary partition tree. (Well QT says even millions).

    With the actual version ( which I think is very promising) when I draw many lines,….I have reached 900 000 lines entities, the selection on screen or the moving/zooming starts to be slow.
    (Well I did it in a Toshiba netbook N450),…..but perhaps using the new QGraphicsScene could deal with this drawback.

    In this way the program could be useful for complex drawings.

    p.s. Perhaps I could help

    • Victor,

      speeding up drawing of entities within CADuntu is on my roadmap and would be highly desirable. For the line if work I am doing (CAM operations) I don’t really need it but I think drawing speed is something that can be improved. I know at least one blog entry that mentioned drawing of a file he had took a wooping 15 seconds!

      I know there are area where this can be speed up and the current drawing mechanism is already changed to draw within a paintEvent so that hardware rendering can be used.But there is for sure room to move to more ‘native’ rendering within Qt4.

      If you feel you are up to the job, then help would be highly appreciated, not only by me but also all other users of CADuntu so we can divide the tasks during releases.


  5. Hi!
    Our team using a LibreCAD and we have a quation…
    Do you want to add an inside scripting…
    If it is…so what it will be: Lisp / Python or smth else?
    Is it possing to enable feature working with OpenPLM, esspecialy with thubnails?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.