jDraft Revision Diary

Version beta


A work around for a Mac OS X JVM bug that caused a JVM crash has been added to ellipsoid generation code.

An option to reverse the mouse wheel zoom direction has been added.

(In dialog 'Preferences' -under 'Mouse' see 'Reverse Wheel Zoom'.)

The Look and Feel options have been enhanced to show all available LAFs.

(In dialog 'Preferences' -under 'Look & Feel' see 'Use Native File Dialogs'.)

Support for latest Quaqua (7.3.4) has been added.

An option to use the native (AWT) Save/Open file dialogs has been added.

(In dialog 'Preferences' -under 'Look and Feel' see 'Use Native File Dialogs'.)

The operation of floating toolbars has been enhanced.

The evaluation period has been extended until 31.12.2011

Version beta


A bug that caused a document to hang-up when double clicking a shape group has been fixed.

Version beta


Fixed a bug that caused the application not to quite when the last document window closed which in turn caused printing and registration failures.

Version x

A limited distribution experimental version.

Version beta


A bug that in practice rendered the DXF Export useless has been fixed.


A small but annoying bug that caused the very first drag operation of each session to drop early has been fixed.


A bug that caused "Print Selection" to print everything in gray has been fixed.


An option dialog has been added to DXF export which now supports, in addition to exporting everything, also only visible layers or selected shapes.


The DXF export now also supports automatic, on the fly exploding (expanding) of shapes to line elements, which allows, for example using splines, with laser cutting machines.


The accuracy (number of decimal places) of values output by DXF export can now be user controlled.


The DXF export now support forcing the type of line and polyline elements to LINE, POLYLINE or LWPOLYLINE entities to support input to software / cutters that can only process on type of entities.


Fixed a bug that caused 'Print Selection' to print everythin in light gray.


Fixed a small, but annoying bug that caused the very first drag operation of each session to drop early.

Version beta


Added a white border to dot1 icon.

Changed the focus behafiour to support keyboard shorcuts with floating toolbars.

Change the JTable lineheight to work with Quaqua.

Fixed a bug in drag from handle

Fixed a bug that caused the first spline point not to be dragable

Changed the numeric entry ENTER button to have a square appearance

Changed Add Layer to change current layer

Select All now also selecte the Select command

Fixed the set coordinate system origin angle

Fixed the size of the Split view/pane icon

Added the Delete command

Added realtime update for spline creation

Added statistics collection

Changed selecting Line Style to change the selection aswell

Changed selecting Fill Style to change the selection aswell

Added two new line styles for Dimension lines

Fixed a bug in box selection

Added tooltips for Coordinate Systems in comboboxes

Optimized flatness parameter for Explode command

Addeed tooltips for Line Styles in comboboxes

Added support for Drag icon (Mac OS only)

Fixed a bug in numeric entry angle handling

Fixed the PreRorate in Paste multiple

Added a Zoom document command

Added keyboard shortcut 'Z' for zoom command

Changed Move / Rotate commands

Added keyboard shortcuts 'M' and 'R' for move and rotate commands

Fixed the Display preferences window title

Fixed the look and feel for the Options toolbar

Fixed the custom renderer size issue with Quaqua

Added a confirmation message to install/uninstall associations

Fixed the sample line color in quick line line style buttons

Added single line text edit mode

Added text before position mode

Changed Zoom button look

Fixed the documens resize icon behaviour

Fixed default line styles for empty documents

Fixed the default snap mode for dimension command

Fixed a bug in the dimension angle mode

Circles now snap to handles as well as quarter points

Fixed a bug that allowed duplicate layer names

Fixed a bug that caused inadvertant new layers

Double ESC now toggles betweeen select command and current drawing command

Fixed a bug that caused Templates to be added to the Recent Files menu

Multiple part fills now allign the patterns correctly

DXF import speeded up

Text rendering speeded uo

Background display generation is now an option

Text edit is now based on last edit

Box select now correctly observes layer visibility

Fixed the width of the vertical scroll bar

The Recent Files is now cleaned up of non existing files

New vertical centering rule for text blocks

Fixed filled area color behaviour

New shapes now appear in the logical layer or line color

Selection can now be nudged with the arrow keys

Auto Click defaults to current command not first command

Paste has been speeded up

Dragging with Grid snap selected now forces alignment to grid


Fixed a bug that caused problems when picking handles when inverted colors were used.


Text glyphs are now cached instead of regenerated each time which improves text rendering by a factor of 100 in best case.


Mouse click modifiers changed as follows:
Modifier Action
ALT When dragging create a copy of the selected objects

In zooming alternate between zoom in/out

SHIFT In drawing/dragging/moving Lock vertical/horizontal direction
CTRL/META(*) When dragging move instead of stretch selected objects

(*) CTRL/META = In Windows/Linux use CTRL key, On Mac OS use Apple/Command key


Added support for CTRL/CMD clicking handles to perform Move (instead of Stretch).


Completed refactoring to support jApp 3.0 Drag And Drop methods.


Changed Zoom command to use ALT-key to Zoom In/Out.


Added support to set the last point with CMD (Apple) Click.


Removed Center View at cursor form middle mouse button.


Fixed a bug that caused Coordinate/Info Toolbar  not to resize it was de-floated.


Fixed a bug that added a new layer when the current layer was renamed.


Fixed a bug that caused problems that left a ghost hilite/selection on screen on certain situations.


Added layer  move / snap locking feature.


Fixed a bug that caused problems (especially in Mac OS X)  when performing right-click operations on selections.


Fixed a bug that caused objects in invisible layers to snap.


Fixed a bug that caused Layer Toolbar  not to resize correctly on Mac OS X when it was de-floated.

11.8 2006

Created a Windows native version.


Created a Mac OS X native version.

Version development snapshot


Added a "Move To Current Layer" command to right click menu.


Added a tear-away floating toolbar to control layers.


Added the online tutorial to the Help menu.


Changed new layers to use by-layer color by default and changed that color to green.


Changed the default background color to black and foreground to white.


Fixed a bug that caused the new shapes not to show while being rubber banded during draw operations if the background color was the same line style color and the current layer was in by-layer color mode.


Added a dragable/floatable toolbar for layer controls.


Window and view configuration and state is now saved/restored when a drawing is saved / opened.


Double clicking 'nothing' now exits all groups.


Added no-undo warning to DXF-import and keyboard shortcuts resetting.


Drawing size can now be set from the selected elements.


Added support for mouse wheel. Wheel rotation now zooms in/out. Click wheel/midle-button to center view at the point clicked. Drag wheel/midle-button to zoom to a rectangle.


Fixed a bug that caused foreground color not to be applied to icons, which made it difficult to use a black background.


The DXF-import has been improved:

  • Import speed is now ten fold
  • Paper / Model Space is handled correctly
  • Line Style dash lengths are handled correctly
  • New entities are supported (MTEXT,DIMENSION,ATTRIB,ATTDEF,SOLID)
  • Text positioning improved
  • BLOCK rotation and scaling now handled correctly
  • Color / Line Style handling improved
  • A bug in the bulge processing has been fixed
  • 4.3.2006

    Fixed a couple of bugs in item extents calculation that sometimes messed the extents up making it difficult to pick text and group elements.


    Reworked area fills. Now area fills include solid color and raster based fills in addition to the orignal hatchings.


    Improved coordinate/object info display. The new display can be dragged away to create a floating info display that displays most object properties.


    Added continuous coordinate dimensioning tool.


    Added the option to use slash-marks instead of arrows in dimensioning (for architect style dimensioning).


    Fixed a bug that caused angle units combox'es to show length units instead of angle units.


    Added support new Polyline type that support piece wice, linear, natural, quadratic and cubic spline segments.


    Added support ellipses and ellipse arcs.


    Fixed a bug that caused a NullPointerException in a New document when trying to dimension anything unless the dimensionin parameters dialog was brought up first.


    Fixed a couple of bugs with polylines that sometimes caused an ArrayIndexOutOfBounds exception.


    Changed the behaviour of selecting objects so that arc centers are no longer included in 'Box Selecting' objects, which makes selecting arcs with large radius easier


    Changed the behaviour of selecting objects so that selecting now obeys the 'Pick In All Layers' / 'Pick In Current Layer'.


    Added commands to create ReferenceMarks in various formations/patterns to e.g. divide a line or circle to N segments etc.


    Added a 'Print in Black & White' option to 'File/Print Setup...', which forces all items to print in pure black (as opposed to the gray printing offered by the printer driver options).


    Reworked all dialogs to hava a parent frame (the active document window) because lack of parent frame seemed to cause problems on MacOSX.


    Fixed a bug that the dimension preview panel in dimension parameters dialog to always use white background instead of the actual backgroun color.

    Version beta


    Fixed a bug that caused the draw rectangle rules to throw a NullPointerException.


    Fixed a bug that sometimes caused a massive memory leak when copy/pasting shapes.

    Version beta

    NOTE. As of this release jDraft requires JRE (Java Runtime Enviroment) 5.0 (a.k.a 1.5). This JRE has been out for some time now and seems to be stable and reliable. It has some real productivity and performance features (better type safety with generics, enums and a new for/iterator syntax) so it was decided to move all development to this new JRE.


    Added to the top left corner of the display a small indicator text that show the latest re-draw time and free menory / total memory.


    Made the last point (as used in the relative entry mode) visible (a gray circle with a cross hair). Also changed the 'Edit' menu Copy/Cut and Paste commands to use the last point as the reference point. More intuitive for those whose have been contaminated with the simple sketching features that most office applications offer.


    Made the last point (as used in the relative entry mode) visible (a gray circle with a cross hair). Also changed the 'Edit' menu Copy/Cut and Paste commands to use the last point as the reference point. More intuitive for those whose have been contaminated with the simple sketching features that most office applications offer.


    Added template handling capabilety. Now one can store drawings in the directory '~/jDraft/templates' (FYI, in Windowss this can be found under 'C:/Documents And Settings/your-user-name') and these will appear in the 'File' menu under item 'Templates'. Selecting one of them creates an untitled copy of that drawing that can then be saved under a new name. The JDraft now also includes built-in templates for the ISO standard series for engineering drawings (ISO 7200) from A4 to A0 size.


    Fixed a bug that caused text primitives not to obey layer color.


    Fixed a bug that caused text primitives to be unselectable after undo.


    Added Drag and Drop support. Both Copy and Move modes are supported. Because of limited (alright, non-existent) support from Swing for drop location, the sematics of the drop are slightly different from what one would expect. One needs to first drop (release mouse) and then click to specify the location. Maybe changed/fixed with Java 6.0.

    13.11.2005 (Fathers' Day)
    Added a simple (+400 LOC) graphics performances test to the 'Tools' menu. This can be used to measure re-draw speeds, in case this becomes an issue and needs some work done on it.


    Changed coordinate display to display absolute or relative coordinates depending on the ABS/REL numeric entry mode.


    Fixed a bug that caused changed line style color not to appear visually everywhere immediately.


    Changed creation of hatched areas so that they are created behind the boundary shape and not in-front. This is more practical and in case they (the hatch and the boundary) have different colors this is visually more pleaseing.


    Added a keyboard (only) shortcut 'Q' to center view at current mouse (hover) location.


    Added controls to control the text block anchoring, previously text was (implicitly) anchored at first line baseline and on the left side of the first character. Now the test block can be ancored to left,center,right and to first/last line ascender line, descender line or baseline.


    Removed 'Tools/Export XML...' because it was totally outdated, maybe re-introduce this later in a more sensical form.


    Modified "Snap to Reference Point" so that it snaps, in addition to reference points, to document corners and coordinate system origin.


    Added commands to add and remove vertext to/from a Polyline and to split polyline at vertex.


    Added a 'Selec All' command.


    Added background,foreground etc settings to the 'Tools/Tuneup...' dialog. Now one can get authentic 80's CAD feeling with black background and rainbow colored lines!


    Changed the behaviour of Zoom Rect command. Previously it worked in one-shot mode, ie once you zoomed then the previous drawing mode was resumed. Now the Zoom Rect icon can be double clicked in which case the zoom command stays active for doing repeated Zoom Rect operations.


    Added polyline Explode and Join commands to the right-click menu.


    Added Group, Ungroup,Edit Group, Exit Group and Exit All Groups to the right-click menu.


    Fixed a bug that caused dimension texts and imported text elements to spontaneously delete all text if the user attempted to edit them.


    Added an 'Exit All Groups' functionaly as a double-click action to 'Exit Selected Group' (formely known as 'Work Out of Group'). Also changed the tooltip text of 'Work Within Group' to 'Edit Group'.


    Changed the built-in default coordinate system (Paper CS) origin to the lower left corner of the paper, changed the name to 'Paper CS (mm)' and added a corresponding but inch based coordinate system 'Paper CS (inch)'. Using these coordinate systems importing DXP files (both metric and imperial) becomes trivial. Just select the coordinate system (DXF files do not contain scale) and do the 'Tools/DXF Import...".


    Changed the (primary) file type extension to '.jdwg' as it seems that '.dft' may conflict some existing applications. So from now on, users should save their documents with the new extension (this happens automaticaLLy for New files). The Java Web Start will now also try to register/associate the new file extension to jDraft so that '.jdwg' files can be opened by double clicking the document icon.


    Changed the Circle and Arc quarter points (for snapping-to-purposes) to be alligned with the selected coordinates system. In most cases these are the points that are most usefull for snapping to.


    Re-worked the keyboard short cut. There is now a 'Settings/Shorcuts...' dialog in which all the keyboard short cuts can be configured. Many more shortcuts are now available than before, see the dialog. Some of the (default) shortcuts are at least superficially compatible with TurboCad. The 'snap' shortcuts have a dual functionality. If pressed shortly they act as just keyboard short cuts to the snap icons. If pressed for more than half a second they will stay in force only as long as the key is held pressed (TurboCad style) and the original snap mode is restored upon release.


    Improved DXF-import. It now supports, ARC,CIRCLE,LINE,POLYLINE,LWPOLYLINE (including bulges) and TEXT entities as well as BLOCKs. Drawing is now auto-sized to match the extents of the elements in the DXF-file. Import now observes the coordinate system so that drawings in any scale/units can be imported. AutoCAD colors (ACI) are also obeyed.


    Re-worked the drawing size dialog so that standard sizes (A4,A3..., A,B...) can now be picked from a combobox and. The 'anchor' corner for growing the drawing size can now also be specified.


    Re-worked the printing completely. Drawings can now be printed scaled to fit page, multi-page in desired scale or cropped to one page. Drawing to paper alignment can be controlled, non printable margins can be specified and there is a pre-view. Also printing only selected objects is supported.


    Fixed a bug that under certain circumstances allowed entering of wrong values to entry fields and sometimes caused the alert dialog for too small/large values to appear twice.


    Fixed a bug in the progress bar handling that caused the progress bar not to show progress properly.


    Added support for true polylines.


    Changed 'fillet' rules to create the fillet in the same back-to-front position as the first line selected. Previously the fillet was always added to the front. Now it also will be created within in the same group as the first line if that line is part of a group.


    Fixed a bug that caused 'undo' not to work for saved documents.


    Added drawing structure integrity check to file load/save. The integrity check reporst errors to the console and fixes them as it best can. Missing layers and lines styles are added to the document and non layered objects added to a special 'lost and found' layer.

    Version beta


    Fixed a bug that caused the hilite of a deleted shape to remain on the screen until mouse was moved (was most confusing).


    Changed guide line default width to zero, which produces one pixel wide line regardless of the zooming.


    Modified 'insert guide' and 'insert dimension' tools so that it is now possible to automatically insert guide lines and dimensions into specific layers instead of the current layer.


    Fixed a bug that fooled the registration expired mechanism.


    Fixed a bug that caused the default variance values in 'dimension parameters' dialog to be outlandish.


    Added new tangent to arc/circle guide line rule, so that it is now possible to create a guide line that is tangential to a circle/arc at quarter / semi-quarter point.


    Made all toolbars floatable so that they can be de-tached from the left side of the window. May still need some fine tuning as swing does not seem to handle the size perfectly.


    Moved guide tools away from the draw tools in the user interface and created a new panel for them, which now also includes the 'insert reference marker' tool.


    Reorganised all drawing buttons in the user interface. Previously 'drawing' tools were in the left most column and 'snap' tools in the right coloumn. Now all buttons in the same 'class' are grouped together in a two column format. This makes is better than the previous layout which called for aproximately same number of drawing tools and snap tools, to look balanced.


    Fixed a bug that caused numeric entry parameters 'dH' and 'dV' to ignore current coordinates system scale.


    Fixed a bug that caused the split/trim markers to be offset by one.


    Improved 'snap to intersection' so that lines close to each other that are almost parallel are no longer considered in the pick process.


    Fixed a bug that caused invisible lines (in hidden layers) to be pickkable / snappable.


    Added recent files list and now the application also automatically opens the most recent file, if possible, otherwise an empty document is created.


    Reworked display generation to use VolatileImages which is (or can be) hardware accelerated.

    Version beta


    Grid origin can now be set with mouse and snap tools.


    Added keyboard short cuts for zoom in/out/selection and scroll left/right + up/down.


    Added print scaling to 'Settings/Document Size...'.


    Add support for guide lines and circles. Guide lines (and circles) are shapes that are drawn with a specific line style and that are not visible in printing. Guide lines always extend to the edges of the paper.


    Fixed a bug that messed the internal structure of a drawing if you used 'Undo' after pasting multiple shapes.


    Added buttons to control which shapes and in which layer are picked/snaped-to. You can snap to shapes in current layer or all visible layers. You can snap to shapes in the active group (the one you are working within) or all shapes or active group and all sub-groups.

    Version beta


    Added XML-output. This serves as an emergency output format in case an unrecoverable problem surfaces with the binary (serialized) format.


    Added progress monitors to printing, DXF input/output and XML-output.


    Added a parameter to the 'Tune Up' dialog to control the number of undoable steps. With unlimited undo the memory exhausted rather quickly.


    Changed line style behaviour. Now line styles behave like 'styles' in many word processors, i.e. changing the style changes all lines with that style.

    Added four quick buttons for most common line styles.

    Added 'option buttons' (clockwise/counter clockwise, move/copy, preserve layers etc) to many commands.

    Added support for Java - look & feel and the more tranquil looking tool bar buttons.


    Added support for back ground images, to enable drawing over old drawings. Handy for model engineering.


    Completed work on the registration system and the splash/about screens.


    Added code-obfuscation (using yGuard) to optimize code size and to hinder reverse engineering efforts.


    Fixed a bug that caused temporary refmarks be consumed (deleted) if they were dragged.


    Fixed a bug that caused hatched areas to transform (move, stretch, rotate) improperly.


    Added support for groups. This includes the possibilety to group/ungroup shapes so that they can be treated as one. Groups can be contain groups. Group support also supports working inside the group hierarchy, ie it is possible to add/change/delete shapes within a group without first ungrouping the shapes. This is achieved with the consept of active group. Tools to move in the hierarchy of groups are available. Shapes that are not within the active group are displayed dimmed.


    Removed superfluous scale/rotation/origin values and user interface elements from layer dialog.


    Fine tuned scrollbar sizes and view control icons to be pixel perfect in Window look&feel and to better adjust them to others (Mac/Linux).


    Added small triangles/dots to toolbar icons to hint if there is a popup or parameter dialog associated with them.


    The toolbar buttons that have a popup menu associated with them, now pop up the menu if mouse is pressed long on the button (the old way of right clicking is also supported).


    Drawing can now be accomplished both in the classic MacDraw (or any Mac/PC draw/paint program realy) style or classic Workstation/CAD program fashion. MacDraw style means press-drag-release mouse, whereas CAD-style means click-move-click. I prefer the later, as it is more consistent, especially when drawing polylines, but now they live happily side by side on my keyboard (thanks Paul for the lyrics...)


    Added 'Zoom Selection', 'Zoom 100%', 'Allign with UCS' ... etc view controls. Basically reworked all all the zoom controls. Also created undo/redo that can be used to undo(redo) last 10 views positions/settings.


    Added split views. Any view can now be split into two in effect making it possible to divide the window into any number of pane, each with their own 'view' of the document. Handy if you need to draw long (slender) thing, just zoom one pane into one end and the other pane into the other end, and draw from pane to pane.


    Changed text editor to default to focus on the text area, not font combobox. Also fixed the problem not moving text editor (which is modal) to the front when application switches in. Fixed a bug that caused the dialog not to close from the close box.


    Added rules to draw a circle a a tangent to three lines or two lines with a radius.


    Added rules to draw a circle/arcs trough three points.


    Added command and rules to draw a rectangle.


    Added a check box to the 'Tune Up' dialog to control double buffering.


    Added 'iGuide' and the command to open it to 'Help' menu.


    Added a new rule so that movements can now be specified numerically as dH,dV.


    Fixed a logic error in the rule solver that caused problems in rule selection under special circumstances.


    Added numeric entry fields dH and dV so that movements of or widths/heights can be entered numerically.

    Version beta


    Added numeric entry fields to be able to enter delta X,Y values. Shortened numeric entry field widths from 10 to 9 columns.


    Added new menu ('Settings') to the menubar and moved Hatch Style /Grid/Coordinate System/Line Style/Layer item to the new menu.


    Added keyboard short-cut to reset the current drawing command. Now if you make a mistake when drawing, eg select wrong point or object, you can restart the command by pressing ESC-key.


    Added keyboard short-cut to delete function. Now selected objects can be deleted by pressing the DELETE-key.


    Added new dimensioning rules that allow dimensioning of lines by just selecting a line. Dimension can vertical/horizontal or aligned with the line.


    In order to improve visibility, changed hilite color to purple. Also made the line width of hilited shapes a bit (two pixels) wider than the actual line width in question.


    Added live feed-back to Split/Trim commands so that now they show on screen exactly what will be split and where.

    Version beta

    Baseline release, first time on a public server so that anyone can load it. Told (almost) no-one about it so that not many people will download it.