Drawing Workbench – Initial Thoughts

Drawing first impression

I’ve built a development branch for an updated version of the Drawing workbench, with the intention to do a bit of work on it. This is another part of FreeCAD that I haven’t had much to do with, so with this post I hope to record some initial thoughts. I find it’s sometimes handy to look back at notes like this, as they can give a “fresh pair of eyes”.

Overall, I’m impressed with the workbench – seems like things are going in the right direction! Quite a few little things need fixing before it feels usable though. And, this testing has shown that I have what’s perhaps a more pressing issue with the Property Editor on Mac – it’s nearly unusable on my computer…


  • What’s with the floating OpenGL view?  It doesn’t seem to respond to the mouse at all.
    • Confirmed that the same thing does not happen in my Linux virtual machine, which is mostly similar to my Mac in terms of library versions and such.
    • Right clicking and changing Renderer to OpenGL fixes that issue, but results in screen flashing white and generally behaving strangely. Renderer = Image still broken.
  • Some operations seem really slow.
  • Automatic scaling of the Orthographic projection draws the object off the paper.
    • Also doesn’t update the “Custom Scale” field below it.
    • Ditto the scale field on the sheet.
  • Need a visual cue that clicking and dragging the bounding boxes of ortho projections will let the user reposition on the sheet, but dragging elsewhere moves the sheet.
    • Is there a need for moving the sheet at all?
  • Changing to a scale that’s too “zoomed-in” can make the different ortho projections overlap (shown below).
  • Waving the dimension around leaves repaint artefacts (below).
  • SVG export has a couple obvious issues
    • Font size of the circle dimension is different.
    • Bounding boxes and their labels (Top, Side, Front, etc) of ortho projection aren’t shown.
      • Should they be?  If not, then I think it needs to be more obvious in FreeCAD.
  • “Drawing Viewer” doesn’t resize (Cascade windows before opening a drawing),

Some Drawing Bugs

Cost: A few hours worth of monkeying around with git, looking through code, setting up a Linux VM, playing with Drawing module.

15 thoughts on “Drawing Workbench – Initial Thoughts

  1. peterl94

    It seems like you should be able to somehow just hide the OpenGL windows when a non OpenGL window is active. The mdi view drawing order still wouldn’t be correct, but I think it would be sufficient for most people.


  2. Normand Chamberland

    Hello Ian,

    It’s great that you too are tackling the Drawing workbench!

    In regard to bounding boxes, they should not be exported. There should be an option to display/hide and export the view labels. It should also be possible to rename the view labels.

    IMHO the sheet itself should not be movable. In SolidWorks and Solid Edge (two parametric CAD programs I’me familiar with), it cannot be moved.

    “Waving the dimension around leaves repaint artefacts (below).”
    I don’t remember seeing that when testing Luke’s branch last year. I wonder if it’s a Mac issue? I’ll try to test your branch soon.

    Thanks for your work!


    1. ianrrees Post author

      Thanks for the quick replies, and for the donation! Looking forward to seeing the bugs and feature requests you identify, as you’ve definitely got more experience with commercial CAD than I do.

      I agree with your assessment about the CAD sheet being movable or not, as long as the rest of the interface works OK for switching between multiple sheets. For instance, I could imagine people wanting to split the orthographic view onto multiple A4/US Letter sheets, and there would need to be a way to see those individually before printing.


  3. Luke Parry


    Render to Image hasn’t been used and not sure if it’s really a good idea since QGraphicsView has option of OpenGL / raster painter engine.

    @ Waving the dimension around leaves repaint artefacts

    This is due to the caching mechanism otherwise QGraphicsView is hideously slow. This is most likely caused by an incorrect bounding box for the View border.

    Orthographic views never have their projection names / borders shows in Drawings – it’s inferred by the first / third angle projection and their position.

    The drawing module needs testing on Windows. I’m not sure in wanderfan can do that.

    You’ll need to identify which areas are slow. I cannot remember and only tested with simple parts since I focused more on functionality.

    If you have any questions regarding the development of the drawing module, feel free to contact me via email – I’m more likely to reply than through the forums. I’m too busy at the moment to really focus developing this. Hopefully things will be better in the future.

    Thanks and good luck!


    1. ianrrees Post author

      Thanks Luke, for your comment and for all the work you’ve already done on Drawing! I’ll likely take you up on the offline help offer, have a few things to work on now that appear obvious enough so it may be a few days.


      1. ianrrees Post author

        Sorry about the slow reply – my guess is that there’s something wrong with the cmake configuration for building on Windows, unfortunately I don’t have a good way to play with that from here. Does the regular master version of FreeCAD build properly on your system?

        If that works, but the Drawing branch still won’t compile, try changing the “${QT_INCLUDE_DIR}” to “${QT_QTCORE_INCLUDE_DIR}” in src/Mod/Drawing/App/CMakeLists.txt and redo from the cmake process.

        Failing that, if you could get a more verbose output from the making process for all FreeCAD, that could be handy for debugging. On Mac/Linux that “make VERBOSE=1” should do it, not sure about on your system though.

        Hope this helps!


  4. sgrogan

    Thanks Ian,

    FreeCAD Master from SF compiles fine.
    I’ll try to build on Kunbutu and see if I can see a difference. Maybe a dependancy that’s not in the win libpacck?

    I don’t know ow to control verbose from the VS gui. I know there is a verbosity switch with MSBuild from the command line. I try to figure that out.

    It will probably take me a few days. This needn’t be your priority at the moment.


    1. ianrrees Post author

      No problem! My guess is that the problem is something to do with Drawing’s cmake configuration. There doesn’t seem to be much/any Qt stuff that’s used in Drawing but not other parts of FreeCAD, and at least some of the QColor functions in your error log are used in other parts of FreeCAD, but not Drawing.



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s