Latest change of this page: Wednesday, 10-Dec-2014 15:50:52 CET

de·caff DXF Viewer Version 2.x

DXF Viewer Splash

Introduction

The DXF viewer is a Java program which displays DXF and SHX files. It runs under every machine which supports at least Java 1.6 (also known as Java 6). Being a Java program means that it'll run under on any computer for which a Java Virtual Machine version 1.6 is available. At the moment this means all major PC operation systems including Windows, Linux and MacOS.

DXF is a file format which was introduced a long time ago by AutoDesk to work as an exchange format for their well-known AutoCAD program. SHX is the font format used by AutoCAD.

Features

Input

The viewer reads 2D and 3D ASCII and binary DXF files (which may even be packed with zip, gzip and bzip2, but you should prefer zip), and understands a noticable subset of the features of newer DXF versions. If you have ever tried other DXF viewers you have probably noticed that there are many problems with newer DXF files. Blame AutoDesk because they added lots of stuff when switching from AutoCAD R12 to AutoCAD R13, partly incompatible and even some parts which are written in a completely different format which is embedded in the DXF file in an encrypted form. There are many additions which are useless for any programs other than AutoCAD resulting in unnecessary file bloat.

The files are displayed as wireframe graphics similar to AutoCAD. A rendered Java3D version like the one from where the shuttle image displayed on top of this page was taken is currently implemented, but not yet publically available.

Output

Printing and several output formats are supported: PDF, SVG, Postscript, GIF, PNG, JPG. See here how to add even more image output formats.

Applet

An Applet version of the viewer is also available.

Automatic Updates

The viewer has an automatic update feature which is disabled by default (I don't like the idea of programs phoning home without asking). You can enable it via the Settings dialog (found in the Options menu), which has a tab Automatic Update for that purpose. If you are behind a proxy you'll also have to add its data in the HTTP Proxy Settings tab.

When enabled all what is done is downloading the file version.txt from this server on each startup. The file contains the currently actual version and a hint which Java version is necessary to run the viewer. Its current content is

# Current version info
VERSION:  2.21.16
MINJVM:	  1.6

If the viewer discovers that it is older than the current version it either asks you whether to download the new version or it downloads it silently (depending on the Automatically Install New Version ... setting). In the first case you'll be asked whether to restart the viewer after the download is finished, in the second case the new version is used when you start the viewer the next time. So you can decide whether to have a keep me in control or a don't bother me way of handling automatic updates. And of course you can always switch them off again.

Automatic Font Loading

The viewer comes with substitutes for some common AutoCAD SHX fonts, but in the default configuration it also tries to load missing fonts from a web server. No other data besides the name of the font file is transmitted. To be able to access the internet you'll have to edit the data in the HTTP Proxy Settings tab if you are behind a proxy.

You can disable this automatic download by removing all Remote Font Search Directories from the Font tab of the Settings dialog.

Download

The viewer may be used freely, but comes without any warranties. So use it at your own risk. If you want to help and have DXF files which create errors feel free to send them to the author Please pack the files to save bandwith (DXF packs very well).

Although the viewer is free, it is not open source. But there are possible ways to get access to the sources, see here for more info.

Standard Wireframe version

The standard version of the viewer displays the files similar to the standard AutoCAD view. It runs as an application under every operation system with a Java 1.6 runtime environment or better.

Download: dxfviewer-swing.jar Version 2.21.16 (2,289,857 Bytes, from Wednesday, 10-Dec-2014 15:51:11 CET)

The DXF Viewer in the form of the jar package as downloadable above may be used and distributed freely.
This is free software coming without warranties! It is written with the best intents, but you are using it at your own risk!

Older Versions

A Version Running Under Java 1.5

Version 2.12.16 is the last one which runs under Java 1.5.

Download: dxfviewer-swing-java5.jar Version 2.12.16 (1,636,882 Bytes, from Tuesday, 03-Jun-2014 20:20:41 CEST)

A Version Running Under Java 1.1

A completely outdated predecessor of the viewer able to run in an ancient Java 1.1 environment can be found under http://www.escape.de/~quincunx/dxfviewer/.

Usage

Standard Usage

Under most operation systems you can run the program from your GUI just like any other program (eg. double-clicking on it's symbol on Windows). There is one drawback with this approach, though, because by this the viewer may not use more than 64 MBytes of memory which is not enough for really big files.

If you often run into memory problems you may want to increase the amount of memory the viewer is allowed to use. Read on to learn more.

Recognizing memory problems

There is a memory usage indicator in the status bar which shows you how many memory the viewer has allocated and how much of it it is using. If this indicator gets dark red the viewer's memory is nearly exhausted which will slow down performance dramatically.

Getting a error box displaying "java.lang.OutOfMemory" is the fatal sign. There's not enough memory available for the operation you are currently running (probably loading a file).

If you have several files open you can close some of them to free memory. The newly freed memory does not show directly in the memory indicator, but it will after the next garbage collection is run. Garbage collection is done automatically so you don't have to care.

Allowing for more memory

There are more than one way to allow for more memory. The one which is working on all platforms is to start the viewer with a script, i.e. a .cmd file on Windows or a shell script on Unix. It has to contain just one line:

java -mx256m -jar dxfviewer-swing.jar

Here 256m stands for the amount of memory allowed to the viewer (in this case 256 MByte). I'd recommend not to use more than 3/4 of the total amount of physical memory in your machine.

The following are two example scripts which you may enhance to your needs. Both start the viewer with a maximum amount of 256 MBytes whic should be enough in most cases. Just store them in the same directory as the jar file. Depending on your browser's settings it may be necessary to right-click and select "Save as" to get them stored.

Enhancements

Supporting more image input and output formats

Standard Java installations have only a rudimentary support for image formats. After installing the Java Advanced Imaging Image I/O Tools from the Java Advanced Imaging API you'll find some more output formats in the Save As menu. Just follow the installation instructions and install it as a Java extension.

Also improved is the loading of external images via the DXF IMAGE entity because more input formats are also included.

Drawing speedup

Although the viewer already draws quite fast in most situations you have the possibility to speed up the drawing by some 30% by using a special library.

The library used is the perfbuffergraphics.jar library by Werner Randelshofer which you can download from here. You'll have to unzip two times until you can extract the file of interest perfbuffergraphics.jar. To be able to use it you'll have to add it to the class path. As this is considered a test feature the easiest way to do that is to call the viewer with an additional argument:

java -mx1500m -cp perfbuffergraphics.jar -jar dxfviewer-swing.jar

(I added the -mx switch for more memory (here: 1500MByte), too, because if you are interested in a speedup you are probably using large models).

Depending on the model expect drawing duration reducements of up to 50%. Considering that in the drawing duration the viewer does not only draw, but also is doing a lot of transformations and clipping this is enormous. And the boost is gained by plain Java code, so one would wish that the internal implementation of Java would provide the optimizations used in Werner's library implemented in machine code.

Reference

DXF ENTITY support

Here's a table on which DXF entities are supported by the viewer (the viewer will inform you about entities it does not understand):

DXF ENTITYSupport StatusComments
3DFACE supported
3DSOLID ignored Encrypted entity introduced in AutoCAD R13
ACAD_PROXY_ENTITY ignored Proxy entity usually in binary DWG format
ACIDBLOCKREFERENCE supported Entity inserted by AutoDesk Inventor package.
ARC supported
ATTDEF/ATTRIB supported
BODY ignored Encrypted entity introduced in AutoCAD R13
BLOCK supported external (XREF) blocks are not yet supported
CIRCLE supported
DIMENSION supported
ELLIPSE supported introduced in AutoCAD R13
HATCH supported introduced in AutoCAD R13
AutoCAD 2000 has notorious problems with hatches, and is known to create files with broken hatches, which may look bad in the viewer (and in newer AutoCAD releases).
HELIX ignored introduced in AutoCAD 2007
IMAGE supported if image format is understood introduced in AutoCAD R13. DXF references the image file, so it has to be available. See here to learn how to support more image formats.
INSERT supported
LEADER supported introduced in AutoCAD R13
LIGHT ignored introduced in AutoCAD 2007
LINE supported
LWPOLYLINE supported introduced in AutoCAD R13
MESH ignored introduced in AutoCAD 2013
MLINE supported introduced in AutoCAD R13
MTEXT supported introduced in AutoCAD R13
fonts may be substituted if not available
background coloring is not yet supported
OLEFRAME ignored introduced in AutoCAD R13
OLEFRAME2 ignored introduced in AutoCAD R13
POINT supported only as dot
POLYLINE supported
RAY ignored introduced in AutoCAD R13
REGION supported Encrypted entity introduced in AutoCAD R13
SECTION ignored introduced in AutoCAD 2007
RTEXT ignored introduced in AutoCAD R13
SHAPE supported
SOLID supported
SPLINE supported introduced in AutoCAD R13
SUN ignored introduced in AutoCAD 2007
SURFACE ignored introduced in AutoCAD 2007
TABLE supported introduced in AutoCAD 2006
TEXT supported fonts may be substituted if not available
TOLERANCE supported introduced in AutoCAD R13
TRACE supported
UNDERLAY ignored introduced in AutoCAD 2006
VIEWPORT supported
WIPEOUT supported introduced in AutoCAD R13
XLINE ignored introduced in AutoCAD R13

DXF Feature Support

DXF FeatureSupport StatusComments
Layer supported
Color supported DXF can contain colors in several forms, which are all supported.
Line Styles supported Even extended line styles containing texts and shapes are supported, if the associated SHX files are available. Line styles are supported for varying width lines and extruded lines.
Line Width supported Line width is only defined for POLYLINE and LWPOLYLINE entities in model space. It may vary over the length, which is also supported.
Line Weight ignored Line Weight is a constant view width (on screen or printer) independent from zoom factor.
Reordering supported Reordering means that entities are drawn in an order different from the one in which they are defined in the file.
Spatial Filtering ignored Spatial filtering is used to clip away parts of the model, although it is often used just to draw a frame without any actual clipping.
Views supported Views in DXF come in various flavors: VIEWs, VPORTs, VIEWPORTs, LAYOUTs and Paper Space. All of these are supported.

Miscellaneous

Pack Formats and Read Performance

The short version:
Although the viewer can read various packed formats, you should pack your files with zip.

Somewhat longer:
I ran some tests and measured the overhead needed to unpack the files during the read process, and it seems that for gzip-packed files the standard library uses an algorithm implemented in Java, while for files packed with zip a faster local library implementation is used (the special package which is used for unpacking bzip2 files is implemented in Java). Because jar files are nothing else than zip files with some special content having a fast unzip algorithm in the standard library is something definitely needed, because it is to fear that a Java implementation would be a lot slower.

More than most people probably want to know:
Here's a PDF which shows the results of my tests.

Contact

My name is Rammi and I'm working as a freelancer. I'm living in the city ofBraunschweig in Germany.

If you can provide problematic DXF files, have questions, suggestions, or similar please click on the following link to send an eMail:

eMail 4 Rammi

If you send DXF files please pack them prior to sending to save bandwidth.

Acknowledgments

Thanks

DXF Sharp
	Viewer Screenshot I'm cooperating with Wout de Zeeuw who has written a 3D DXF Viewer and library for .NET based on C#.
Click on the screenshot to see it full size.
We have a friendly competition running who is providing the better DXF Viewer. The nice thing about this is that everybody is winning in this competition: we from our mutual feedback and you from the improvements.

The viewer makes use of the bzip2.jar extracted from the Apache Ant project by Kohsuke Kawaguchi. Thanks a lot!

The viewer uses the FileDrop class from Robert Harder. Thanks to him!

Lots of people helped with feedback, ideas and test data. Special thanks go to

Legal Stuff and Licenses

The DXF Viewer and the DXF Applet in binary form may be used and redistributed freely. They make use of 3rd party software which has its own licenses requiring a bit more care (usually copying the license on redistribution), see subsections below. As can be expected from a freely available software the following legaleze applies:

 THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
 FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  ITS
 CREATOR ANDREAS M. RAMMELT BE LIABLE FOR ANY DIRECT,  INDIRECT,  INCIDENTAL, 
 SPECIAL,  EXEMPLARY,  OR  CONSEQUENTIAL DAMAGES (INCLUDING,  BUT NOT LIMITED 
 TO,  PROCUREMENT OF SUBSTITUTE  GOODS  OR SERVICES;  LOSS OF USE,  DATA,  OR  
 PROFITS;  OR  BUSINESS  INTERRUPTION)  HOWEVER CAUSED  AND ON ANY  THEORY OF 
 LIABILITY,  WHETHER  IN  CONTRACT,  STRICT  LIABILITY,  OR  TORT  (INCLUDING 
 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
 EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    

Please read on to learn of the licenses of included 3rd party software.

License of bzip2.jar

This product includes software developed by the Apache Software Foundation (http://www.apache.org/).

The DXF Viewer and DXF Applet use bzip2.jar extracted by Kohsuke Kawaguchi from the Apache Ant project to read files packed with the bzip2 algorithm.

Ant is distributed under the Apache Software License, Version 1.1:

 ============================================================================
                   The Apache Software License, Version 1.1
 ============================================================================

 Copyright (C) 2000 The Apache Software Foundation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modifica-
 tion, are permitted provided that the following conditions are met:

 1. Redistributions of  source code must  retain the above copyright  notice,
    this list of conditions and the following disclaimer.

 2. Redistributions in binary form must reproduce the above copyright notice,
    this list of conditions and the following disclaimer in the documentation
    and/or other materials provided with the distribution.

 3. The end-user documentation included with the redistribution, if any, must
    include  the following  acknowledgment:  "This product includes  software
    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
    Alternately, this  acknowledgment may  appear in the software itself,  if
    and wherever such third-party acknowledgments normally appear.

 4. The names  "Ant"  and  "Apache Software Foundation"  must not be  used to
    endorse  or promote  products derived  from this  software without  prior
    written permission. For written permission, please contact
    apache@apache.org.

 5. Products  derived from this software may not  be called "Apache", nor may
    "Apache" appear  in their name,  without prior written permission  of the
    Apache Software Foundation.

 THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
 FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
 APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
 INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
 DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
 OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
 ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
 (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
 THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 This software  consists of voluntary contributions made  by many individuals
 on  behalf  of the Apache Software  Foundation. For more  information on the
 Apache Software Foundation, please see http://www.apache.org/.

License of the Balloon Tips Library

The DXF Viewer makes use of the Balloon Tip library. It is distributed under the following license:

Copyright (c) 2011 Bernhard Pauler, Tim Molderez
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in the
      documentation and/or other materials provided with the distribution.
    * Neither the name of the Balloon tip Developer Team nor the
      names of its contributors may be used to endorse or promote products
      derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE BALLOON TIP DEVELOPER TEAM BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Trademarks

Java is a registered trademark of Sun Microsystems, Inc.

AutoCAD is a registered trademark of AutoDesk, Inc.

Inventor is a registered trademark of AutoDesk, Inc.

Windows is a registered trademark of Microsoft, Inc.

All other registered trademarks are the property of their respective owners.

Version History

Latest release comes first.

V 2.21.16 [Wed Dec 10 14:48:19 CET 2014]
(Applet version 1.51.16)

Bugfixes

V 2.21.15 [Fri Dec 5 16:33:45 CET 2014]
(Applet version 1.51.15)

Bugfixes

V 2.21.14 [Fri Dec 5 14:50:41 CET 2014]
(Applet version 1.51.14)

Features

V 2.21.13 [Thu Dec 4 18:42:04 CET 2014]
(Applet version 1.51.13)

Features

V 2.21.12 [Thu Nov 20 16:19:57 CET 2014]
(Applet version 1.51.12)

Bugfix

V 2.21.11 [Sat Nov 15 13:10:04 CET 2014]
(Applet version 1.51.11)

Bugfix

Misc

V 2.21.10 [Wed Oct 8 10:25:08 CEST 2014]
(Applet version 1.51.10)

Bugfix

V 2.21.09 [Thu Aug 21 13:30:45 CEST 2014]
(Applet version 1.51.09)

Bugfix

V 2.21.08 [Fri Aug 15 10:51:30 CEST 2014]
(Applet version 1.51.08)

Bugfix

V 2.21.07 [Thu Aug 14 17:57:02 CEST 2014]
(Applet version 1.51.07)

Bugfix

V 2.21.06 [Thu Aug 14 14:47:29 CEST 2014]
(Applet version 1.51.06)

Features

V 2.21.05 [Tue Jun 24 17:09:23 CEST 2014]
(Applet version 1.51.05)

Bugfixes

V 2.21.04 [Mon Jun 23 16:54:58 CEST 2014]
(Applet version 1.51.04)

Improvements

V 2.21.03 [Fri Jun 13 13:38:02 CEST 2014]
(Applet version 1.51.03)

Improvements

V 2.21.02 [Tue Jun 3 18:41:51 CEST 2014]
(Applet version 1.51.02)

Bugfixes

V 2.21.01 [Mon May 26 18:04:59 CEST 2014]
(Applet version 1.51.01)

Bugfixes

V 2.21.00 [Fri Mar 21 13:14:40 CET 2014]
(Applet version 1.51.00)

Features

Bugfixes

V 2.20.25 [Fri Mar 14 12:27:10 CET 2014]
(Applet version 1.50.25)

Bugfixes

V 2.20.24 [Tue Mar 11 14:03:11 CET 2014]
(Applet version 1.50.24)

Bugfixes

V 2.20.23 [Mon Mar 10 15:20:30 CET 2014]
(Applet version 1.50.23)

Improvements

V 2.20.22 [Tue Feb 25 13:41:51 CET 2014]
(Applet version 1.50.22)

Bug Fixes

V 2.20.21 [Thu Jan 9 14:42:00 CET 2014]
(Applet version 1.50.21)

Features

V 2.20.20 [Fri Dec 20 18:23:55 CET 2013]
(Applet version 1.50.20)

Bugfixes

V 2.20.19 [Tue Dec 17 18:13:32 CET 2013]
(Applet version 1.50.19)

Bugfixes

V 2.20.18 [Wed Dec 4 14:06:58 CET 2013]
(Applet version 1.50.18)

Bugfixes

V 2.20.17 [Tue Dec 3 13:48:41 CET 2013]
(Applet version 1.50.17)

Bugfixes

Features

V 2.20.16 [Mon Dec 2 18:43:14 CET 2013]
(Applet version 1.50.16)

Bugfixes

Features

V 2.20.15 [Sun Nov 24 16:47:50 CET 2013]
(Applet version 1.50.15)

Bugfixes

V 2.20.14 [Fri Nov 22 16:12:29 CET 2013]
(Applet version 1.50.14)

Bugfixes

V 2.20.13 [Fri Nov 22 11:37:41 CET 2013]
(Applet version 1.50.13)

Features

V 2.20.12 [Fri Nov 15 16:36:11 CET 2013]
(Applet version 1.50.12)

Features

V 2.20.11 [Tue Nov 12 12:47:58 CET 2013]
(Applet version 1.50.11)

Bugfixes

Features

V 2.20.10 [Mon Oct 28 12:48:08 CET 2013]
(Applet version 1.50.10)

Bugfixes

V 2.20.09 [Fri Oct 25 13:50:00 CEST 2013]
(Applet version 1.50.09)

Bugfixes

V 2.20.08 [Fri Oct 18 13:52:40 CEST 2013]
(Applet version 1.50.08)

Features

V 2.20.07 [Wed Oct 2 13:49:26 CEST 2013]
(Applet version 1.50.07)

Bugfixes

Features

V 2.20.06 [Mon Sep 2 17:25:16 CEST 2013]
(Applet version 1.50.06)

Bugfixes

V 2.20.05 [Fri Jun 21 15:46:09 CEST 2013]
(Applet version 1.50.05)

Features

V 2.20.04 [Tue Jun 18 16:50:10 CEST 2013]
(Applet version 1.50.04)

Bugfixes

V 2.20.03 [Mon Jun 17 14:54:51 CEST 2013]
(Applet version 1.50.03)

Bugfixes

Fixed incorrect line type fitting for line types with adjacent dashes.

V 2.20.02 [Fri Jun 14 15:01:52 CEST 2013]
(Applet version 1.50.02)

Features

Added support for extended line styles.

Bugfixes

Fixed single dots sometimes not drawn problem.

V 2.20.01 [Fri May 31 18:24:29 CEST 2013]
(Applet version 1.50.01)

Fixes possible NullPointerExceptions.

V 2.20.00 [Thu May 30 16:23:31 CEST 2013]
(Applet version 1.50.00)

Version step mirrors internal change.

Bugfixes

V 2.13.18 [Mon May 6 13:50:49 CEST 2013]
(Applet version 1.43.18)

Bugfixes

V 2.13.17 [Mon Apr 29 18:27:53 CEST 2013]
(Applet version 1.43.17)

Bugfixes

V 2.13.16 [Mon Apr 15 16:56:52 CEST 2013]
(Applet version 1.43.15)

Bugfixes

V 2.13.15 [Wed Apr 17 10:31:11 CEST 2013]
(Applet version 1.43.16)

Bugfixes

V 2.13.14 [Fri Apr 12 15:10:09 CEST 2013]
(Applet version 1.43.14)

Bugfixes

Features

V 2.13.13 [Thu Feb 28 11:38:50 CET 2013]
(Applet version 1.43.13)

Added support for extended layer colors.

V 2.13.12 [Fri Feb 22 18:42:35 CET 2013]
(Applet version 1.43.12)

V 2.13.11 [Thu Feb 21 14:25:36 CET 2013]
(Applet version 1.43.11)

V 2.13.10 [Wed Feb 6 21:59:34 CET 2013]
(Applet version 1.43.10)

Fixed spurious 0 <= 0 / ConcurrentModificationException bug.

V 2.13.09 [Wed Feb 6 14:42:23 CET 2013]
(Applet version 1.43.09)

Slightly reduced memory footprint.

V 2.13.08 [Fri Feb 1 18:15:22 CET 2013]
(Applet version 1.43.08)

Fixed problem which made texts run sometimes too wide or too narrow.

V 2.13.07 [Wed Jan 30 13:25:27 CET 2013]
(Applet version 1.43.07)

Fixed various applet problems:

V 2.13.06 [Mon Jan 28 22:08:18 CET 2013]
(Applet version 1.43.06)

Fixes error "getCharSet() is not yet implemented for TrueTypeFont!";

V 2.13.05 [Mon Jan 28 17:08:16 CET 2013]
(Applet version 1.43.05)

Obfuscation problems induced subtle errors changing colors and views.

V 2.13.04 [Fri Jan 25 12:57:42 CET 2013]
(Applet version 1.43.04)

Improved SHX font encoding handling.

V 2.13.03 [Sun Jan 20 22:50:23 CET 2013]
(Applet version 1.43.03)

Fixed broken umlauts.

V 2.13.02 [Sun Jan 20 15:17:51 CET 2013]
(Applet version 1.43.02)

Minor improvement for drawing speed.

V 2.13.01 [Sat Jan 19 16:01:35 CET 2013]
(Applet version 1.43.01)

Added close buttons for tabs, and extended tab context menu to allow for closing all or all other tabs.

V 2.13.00 [Fri Jan 18 14:18:07 CET 2013]
(Applet version 1.43.00)

This release is using a new minimal Java version for the Viewer in order to support features not available before. Now Java 1.6 (also known as Java 6) is required. The previous version requiring Java 1.5 (aka Java 5) is still available in the Download section.

Features

This version adds some helpful hints which show up when the viewer is using up its memory.

Bug Fixes

A bug which made some Bigfont SHX fonts appear incorrectly when used in vertical text mode was fixed.

V 2.12.16 [Sun Dec 16 13:33:11 CET 2012]
(Applet version 1.42.16)

Fixes rare ArrayIndexOutOfBounds exception thrown under special circumstances in applet.

V 2.12.15 [Thu Dec 13 12:29:12 CET 2012]
(Applet version 1.42.15)

Fixed initialization problem in applet.

V 2.12.14 [Tue Dec 11 11:55:04 CET 2012]
(Applet version 1.42.14)

Added cheat code for fixed scale printing. Also added another cheat code to work around printer scaling problems.

V 2.12.13 [Fri Nov 16 17:45:25 CET 2012]
(Applet version 1.42.13)

Fixed rare NullPointerException on startup.

V 2.12.12 [Fri Nov 9 13:25:23 CET 2012]
(Applet version 1.42.12)

Fixed problem with occasional hanging for some seconds on Windows during first file load.

V 2.12.11 [Thu Nov 8 16:13:17 CET 2012]
(Applet version 1.42.11)

Fixed bug which made reading of some binary DXF files fail.

V 2.12.10 [Mon Oct 29 12:51:41 CET 2012]
(Applet version 1.42.10)

Added possibility to select Plug&Feel.

V 2.12.09 [Thu Oct 25 15:10:31 CEST 2012]
(Applet version 1.42.09)

This release is optimizing text wrapping so it works better with eastern languages.

V 2.12.08 [Mon Oct 22 17:49:11 CEST 2012]
(Applet version 1.42.08)

Added basic support for AutoCAD 2013. As the updated DXF format spec isn't released yet, this is just to avoid annoying warnings and a fallback to an inappropriate encoding.

V 2.12.07 [Tue Oct 16 13:38:11 CEST 2012]
(Applet version 1.42.07)

Bugfix release for a bug in automatic update which didn't recognize it was already updated.

V 2.12.06 [Sat Oct 13 14:35:42 CEST 2012]
(Applet version 1.42.06)

This is a bugfix release which fixes a bug in line style assignment which resulted in wrongly scaled dashes under rare circumstances.

V 2.12.05 [Mon Oct 8 15:10:07 CEST 2012]
(Applet version 1.42.05)

This release completely overworks SHX font handling, which changes text rendering slightly in various places.

Especially text rendering in vertical mode is now similar to the original AutoCAD behavior.

V 2.12.04 [Thu Aug 23 17:11:59 CEST 2012]
(Applet version 1.42.04)

Bugfixes

The following bugs were fixed:

V 2.12.03 [Fri Aug 3 12:32:15 CEST 2012]
(Applet version 1.42.03)

This is a bugfix release that fixes a NullPointerException which appeared when 3rd party DXF files contained broken MTEXT entities.

V 2.12.02 [Mon Jul 30 20:58:32 CEST 2012]
(Applet version 1.42.02)

This release overworks color handling. Color now should be rendered more similar to AutoCAD.

V 2.12.01 [Wed Jul 11 16:33:49 CEST 2012]
(Applet version 1.42.01)

This release improves support for the IMAGE entity.

V 2.12.00 [Tue Jul 10 21:04:34 CEST 2012]
(Applet version 1.42.00)

This release adds support for the IMAGE entity.

V 2.11.26 [Wed Jul 4 14:38:27 CEST 2012]
(Applet version 1.41.26)

Another bugfix for the applet, which couldn't find fonts on the server if they had the wrong case.

V 2.11.25 [Thu Jun 28 13:17:37 CEST 2012]
(Applet version 1.41.25)

This is mainly bugfixing the applet, because there were problems reported with loading fonts from external addresses. But it generally streamlines font handling, so even the standard viewer should sometimes open files faster, especially if they access many fonts.

V 2.11.24 [Thu Jun 21 13:57:41 CEST 2012]
(Applet version 1.41.24)

Convenience Release

Allowed the viewer to be more generous with files with small format errors.

V 2.11.23 [Tue Jun 12 18:48:30 CEST 2012]
(Applet version 1.41.23)

Bugfix Release

This improves support for layouts, which were sometimes drawn incorrectly (usually empty).

V 2.11.22 [Sun Jun 10 19:52:14 CEST 2012]
(Applet version 1.41.22)

Usability Enhancements

This slightly increases usability by adding a button to reset the layer visibility to its initial state and some tooltips.

Furthermore the projection mode now survives file view changes.

V 2.11.21 [Fri Jun 8 13:35:28 CEST 2012]
(Applet version 1.41.21)

Bugfix Release

This fixes a bug with layouts, which where shown incorrectly (often empty) in special circumstances.

V 2.11.20 [Mon Jun 4 17:04:43 CEST 2012]
(Applet version 1.41.20)

Bugfix Release

This fixes showing an error on files which contained MTEXT font escapes containing Windows paths.

V 2.11.19 [Fri Jun 1 17:43:46 CEST 2012]
(Applet version 1.41.19)

Feature Release

This release adds a tree view tab showing the contents of the DXF file to the tabs at the right. By default this tab is not shown, because it requires the DXF file to be kept in memory after load. Enable Picking in the Settings dialog (tab view) and restart the viewer to allow picking and make the tree view appear.

V 2.11.18 [Thu May 31 18:21:03 CEST 2012]
(Applet version 1.41.18)

Bugfix release

This release fixes a bug which made perspective views appear too small.

V 2.11.17 [Wed May 23 15:38:32 CEST 2012]
(Applet version 1.41.17)

This release brings small improvements in drawing speed.

V 2.11.16 [Tue May 15 13:16:54 CEST 2012]
(Applet version 1.41.16)

Bugfix release

Fixes problems occuring when a file contains infinite values, which could be the cause of long running calculations. Although infinite values are basically errors, the viewer now behaves more gracefully.

V 2.11.15 [Thu Apr 26 16:29:53 CEST 2012]
(Applet version 1.41.15)

Bugfix Release

Fixes a problem with automatic updates under Windows. The problem appeared when updating without restart, and showed as various strange behaviors.

V 2.11.14 [Tue Apr 24 14:19:12 CEST 2012]
(Applet version 1.41.14)

Maintenance Release

V 2.11.13 [Thu Mar 15 11:21:34 CET 2012]
(Applet version 1.41.13)

Bugfix Release

Fixes problem with new versions using numeric %% text constants resulting in "byteToChar() is not suitable for multi-byte encodings" error.

V 2.11.12 [Mon Mar 5 20:34:30 CET 2012]
(Applet version 1.41.12)

Bugfix Release

Fixes incorrect rendering of some special SHX characters.

V 2.11.11 [Thu Mar 1 15:03:13 CET 2012]
(Applet version 1.41.11)

Feature Release

This adds support multiline attributes.

V 2.11.10 [Tue Feb 28 13:08:24 CET 2012]
(Applet version 1.41.10)

Bugfixes

This release fixes several HATCH related problems.

V 2.11.09 [Thu Jan 12 13:27:50 CET 2012]
(Applet version 1.41.09)

Bugfixes

V 2.11.08 [Tue Jan 3 13:57:47 CET 2012]
(Applet version 1.41.08)

Bugfixes

Adapted behavior of files with broken group codes to mimick that of AutoCAD. Now some files not conforming to the format description which were formerly rejected will be accepted.

V 2.11.07 [Thu Dec 29 12:42:02 CET 2011]
(Applet version 1.41.07)

Bugfixes

Fixed incorrectly empty viewports.

V 2.11.06 [Tue Dec 13 16:38:41 CET 2011]
(Applet version 1.41.06)

Bugfixes

Fixed incorrect placement of MLINE with non-default extrusion vector.

V 2.11.05 [Wed Nov 16 13:38:12 CET 2011]
(Applet version 1.41.05)

Bugfixes

V 2.11.04 [Wed Oct 19 12:18:44 CEST 2011]
(Applet version 1.41.04)

This improves the interline spacing in multiline MTEXT entities.

V 2.11.03 [Sat Oct 15 13:40:24 CEST 2011]
(Applet version 1.41.03)

Adds background colors for MTEXTs.

V 2.11.02 [Fri Oct 14 13:55:22 CEST 2011]
(Applet version 1.41.02)

Bugfixes

This fixes problems with rational splines, which were not calculated correctly.

New Features

Added support for entity reordering, so drawing order of entities may be different from file order.

V 2.11.01 [Tue Oct 4 12:22:58 CEST 2011]
(Applet version 1.41.01)

Added statistics for entities in paper space.

V 2.11.00 [Wed Sep 28 12:59:03 CEST 2011]
(Applet version 1.41.00)

Bug Fixes

Fixes a bug in HATCH rendering code which resulted in a NullPointerException under special circumstances.

New Features

Now the ACAD_TABLE entity is also supported.

V 2.10.10 [Sun Sep 25 10:26:39 CEST 2011]
(Applet version 1.40.10)

Don't ever do things in a hurry. The last release broke the viewer, so it even started. Fixed now. Sorry for everyone falling into the trap.

V 2.10.09 [Sat Sep 24 15:03:26 CEST 2011]
(Applet version 1.40.09)

This removes a spurious problem introduced in the latest version.

V 2.10.08 [Fri Sep 23 13:18:14 CEST 2011]
(Applet version 1.40.08)

This fixes various memory related problems, and a possible problem when loading several files concurrently.

V 2.10.07 [Thu Sep 22 18:58:51 CEST 2011]
(Applet version 1.40.07)

Removed the "Add File" button because adding a file is not possible any more.

V 2.10.06 [Mon Sep 19 18:44:20 CEST 2011]
(Applet version 1.40.06)

Fixed incorrect display of named colors.

V 2.10.05 [Thu Sep 15 17:19:24 CEST 2011]
(Applet version 1.40.05)

This fixes a bug with charset ISO-8859-11 which seems to miss in JVM version 1.60.0_22.

V 2.10.04 [Tue Jul 26 13:19:26 CEST 2011]
(Applet version 1.40.04)

Bugfixes

Fixes a problem displaying the initial view when there is no model.

Features

Only for applet: adds the dxf.applet.print.mode parameter, allowing for selection of currently three printing modes.

V 2.10.03 [Thu Jul 14 17:27:01 CEST 2011]
(Applet version 1.40.03)

Fixes broken text search in 2D views.

V 2.10.02 [Thu Jul 14 16:29:06 CEST 2011]
(Applet version 1.40.02)

This is a bugfix release.

V 2.10.01 [Sun Jul 3 16:09:27 CEST 2011]
(Applet version 1.40.01)

Fixes various text and font related problems:

V 2.10.00 [Fri Jul 1 10:01:12 CEST 2011]
(Applet version 1.40.00)

Implements improved color handling. Old DXF versions only support a set of 255 fix colors, while newer versions also support true colors and transparency. Both is now supported by the viewer, too.

V 2.07.06 [Mon May 2 17:19:32 CEST 2011]
(Applet version 1.37.06)

Added indicators for toolbar buttons with context menu.

Fixed problem in applet's paper display where the paper was shown opaque.

V 2.07.05 [Mon Apr 11 11:33:36 CEST 2011]
(Applet version 1.37.05)

Fixed problem with view not centering on current match when searching in 3D mode.

V 2.07.04 [Wed Apr 6 10:47:56 CEST 2011]
(Applet version 1.37.04)

This release fixes two bugs:

V 2.07.03 [Fri Apr 1 15:22:56 CEST 2011]
(Applet version 1.37.03)

Fixed bug introduced in previous release which avoided zooming on texts found during search.

V 2.07.02 [Thu Mar 31 11:38:26 CEST 2011]
(Applet version 1.37.02)

Fixed bug that search results were placed incorrectly for all but the initial view.

V 2.07.01 [Tue Mar 29 01:06:17 CEST 2011]
(Applet version 1.37.01)

Fixed update problem.

V 2.07.00 [Fri Mar 25 15:37:15 CET 2011]
(Applet version 1.37.00)

This release adds text search capatibility.

V 2.06.09 [Thu Mar 24 17:22:44 CET 2011]
(Applet version 1.36.09)

This release fixes problems in selecting the correct default view which is shown after viewer startup.

V 2.06.08 [Wed Mar 16 15:00:26 CET 2011]
(Applet version 1.36.08)

This release clarifies an error message given for zip files which the Java libraries can't read.

V 2.06.07 [Tue Mar 8 12:29:25 CET 2011]
(Applet version 1.36.07)

This release repairs some problems with internationalization resources when using Java 6.

V 2.06.06 [Tue Mar 1 11:34:44 CET 2011]
(Applet version 1.36.06)

Added marker for unsupported entities to entity statistics panel.

V 2.06.05 [Mon Feb 28 13:09:10 CET 2011]
(Applet version 1.36.05)

Does no real changes to the viewer, but adds support for two applet parameters.

V 2.06.04 [Mon Feb 21 11:20:40 CET 2011]
(Applet version 1.36.04)

This version fixes a bug with perspective viewports where the field of view was chosen incorrectly.

V 2.06.03 [Sat Feb 12 18:47:19 CET 2011]
(Applet version 1.36.03)

V 2.06.02 [Fri Feb 4 15:39:26 CET 2011]
(Applet version 1.36.02)

Fixes transformation handling for ACIS entities (currently only REGION is supported). Please note that ACIS entities rarely have transformations.

Drawing of filled TTF characters and unfilled SHX characters was not clear in the case of Bigfonts where both types of characters can appear depending on the font settings, so this was reimplemented.

V 2.06.01 [Sun Jan 30 12:52:45 CET 2011]
(Applet version 1.36.01)

Fixes slow startup especially for the applet.

V 2.06.00 [Sun Jan 23 18:34:25 CET 2011]
(Applet version 1.36.00)

This release adds support for the MLINE entity.

V 2.05.03 [Sun Jan 16 16:56:59 CET 2011]
(Applet version 1.35.03)

Fixed bug:

V 2.05.02 [Thu Jan 13 13:19:15 CET 2011]
(Applet version 1.35.02)

Fixed bugs:

V 2.05.01 [Tue Jan 11 13:41:45 CET 2011]
(Applet version 1.35.01)

Fixed bugs:

V 2.05.00 [Sun Jan 2 14:48:37 CET 2011]
(Applet version 1.35.00)

The DXF Viewer is now based on the Java 5 framework, which internally meant a lot of changes. But more interesting: it introduces some enhancements and bug fixes, too.

Improvements

Bug Fixes

V 2.03.08 [Mon Dec 13 17:41:10 CET 2010]
(Applet version 1.33.06)

Fixes an error in EED display introduced in 2.03.07.

V 2.03.07 [Mon Dec 13 13:01:38 CET 2010]
(Applet version 1.33.05)

Reads files with a lot of Extended Entity Data faster.

V 2.03.06 [Sat Dec 11 17:24:38 CET 2010]
(Applet version 1.33.04)

Adds display of Extended Entity Data to pick info.

V 2.03.05 [Wed Dec 8 14:47:41 CET 2010]
(Applet version 1.33.03)

This release fixes two minor errors:

V 2.03.04 [Tue Dec 7 11:24:12 CET 2010]
(Applet version 1.33.02)

Fixed perspective and orthogonal projection state not in main toolbar.

V 2.03.03 [Sun Dec 5 12:37:49 CET 2010]
(Applet version 1.33.01)

Minor addition to MTEXT information display: now showing extended text, too.

V 2.03.02 [Thu Dec 2 16:07:50 CET 2010]
(Applet version 1.33.00)

Adds support for codepages SJIS and CP932.

V 2.03.01 [Wed Nov 17 11:46:03 CET 2010]
(Applet version not updated)

Adds a display of the effective layer for selected entities (entity picking must be enabled in the settings).

V 2.03.00 [Thu Nov 11 11:27:20 CET 2010]
(Applet version 1.32.00)

This version adds a hidden feature (sorry, can't say more at the moment), and the possibility to use a special library for faster drawing. See Drawing Speedup.

V 2.02.00 [Mon Oct 11 17:08:02 CEST 2010]

Feature/bugfix release.

Features

Bugfixes

V 2.01.01 [Wed Oct 20 16:50:53 CEST 2010]

This version fixes a problem that LEADER arrows were in rare circumstances rendered too large.

V 2.01.00 [Tue Oct 5 17:55:19 CEST 2010]

This version adds support for default fonts which are used when a font referenced by the file is not found.

V 2.00.03 [Tue Sep 28 16:20:04 CEST 2010]

This release adds support for more codepages. The following codepages where added:

Furthermore loading of files with unavailable fonts is now a little bit faster.

V 2.00.02 [Mon Sep 27 22:19:10 CEST 2010]

This fixes a bug with automatic update, which was not workin at all.

V 2.00.01 [Mon Sep 27 21:32:08 CEST 2010]

Minor release making a file appear faster after it is loaded by postponing the creation of named views. Especially for large files named view creation can take some time.

V 2.00.00 [Sun Sep 26 15:21:44 CEST 2010]

No longer a preview, because the viewer is already quite useful.

This version introduces some new features and fixes minor bugs.

New Features

Bugfixes

V 2.00p91 [Wed Sep 22 15:01:15 CEST 2010]

Bugfix release.

Bugfixes

V 2.00p90 [Sun Sep 19 17:26:28 CEST 2010]

Bugfix/feature release.

Bugfix

Overworked display of viewports to get better results.

Feature

Added support for layouts included in the DXF file.

V 2.00p89 [Thu Sep 9 12:08:54 CEST 2010]

Bugfix release.

Bugfixes

V 2.00p88 [Wed Sep 8 13:10:58 CEST 2010]

Feature/bugfix release

Features

Adds support for the REGION entity.

Bugfixes

V 2.00p87 [Tue Sep 7 14:12:06 CEST 2010]

Feature/bugfix release

Festures

Bugfixes

V 2.00p86 [Sat Aug 28 17:23:09 CEST 2010]

Feature/bugfix release.

Features

Bugfixes

V 2.00p85a [Fri Mar 12 13:56:00 CET 2010]

Bugfix release thanks to Enrico Gallo:

V 2.00p85 [Sun Jan 3 13:24:21 CET 2010]

Corrected bug in bigfont support where bigfonts were wronly mapped.

V 2.00p84 [Mon Dec 14 16:15:32 CET 2009]

Fixed several problems with text placement, especially for texts beginning or ending with spaces.

Improved bigfont support.

V 2.00p83 [Wed Dec 2 23:10:10 CET 2009]

Fixed bug when text was not displayed if one of the used font was broken.

Fixed minor problems with text placement.

V 2.00p82 [Thu Sep 10 16:08:14 CEST 2009]

Improve MTEXT and font support.

MTEXT was much enhanced in recent AutoCAD versions which appeared after the first support for MTEXT was added to the viewer. This release closes the GAP by supporting paragraph formats, tabulators and stacked text.

Furthermore the viewer will now try to locate and load TrueType fonts on the machine even if they are not supported by Java itself.

A Java internal bug meant that TrueType fonts were not always displayed in the correct size. This version tries to work around this bug.

V 2.00p81 [Wed May 6 11:57:27 CEST 2009]

Fixed a bug were static attributes (ATTDEF) were always displayed regardless of their visibility status.

Added Brasilian Portugese resources provided by Paulo Henrique de Medeiros. Thanks a lot!

V 2.00p80

not released.

V 2.00p79 [Thu Nov 27 15:47:08 CET 2008]

Improved picking support. Picking is now enabled by default (i. e. on new installations). If you are updating you may enable picking via the View tab in the Settings dialog (found in the Options menu).

V 2.00p78 [Fri Oct 17 16:04:15 CEST 2008]

Minor improvements when opening and saving files by adding file filters to restrict the choices.

V 2.00p77 [Mon Aug 11 18:50:14 CEST 2008]

This fixes a minor hatching bug.

V 2.00p76 [Fri Apr 11 15:24:24 CEST 2008]

This is mainly a bugfix release. The following issues are targeted:

V 2.00p75 [Tue Jan 1 19:29:29 CET 2008]

This fixes an error where texts were not displayed when the font location settings were empty.

V 2.00p74 [Sun Sep 30 20:46:03 CEST 2007]

I'm currently very busy with other things, but I discovered that using picking with Java 1.6 resulted in an IllegalArgumentException, so I fixed that at least. Picking is not enabled by default because it uses more memory.
Hopefully in about two months I'll have some time again to make more useful additions.

This also adds a switch to revert the reaction to mouse wheel rotation because somehow on Windows things usually get bigger when you turn the wheel away from you, while on Unix it's the other way round. To my feeling the Windows way is counter-intuitive, because I feel that when I drag something to me it shall become bigger, and smaller when I push it away (but it seems like Windows users seem to sit on their mouse). However: now you decide for yourself, while I can still have the "correct" feeling on both systems. Sorry that it only works after a restart, but I'm really much to busy for implementing this more smoothly (which was the reason I hesitated to release this earier although I wrote the code nearly half a year ago on a user request).

V 2.00p73 [Mon Mar 5 18:52:08 CET 2007]

Fixed a problem which kept settings in the print settings dialog from having a effect.

V 2.00p72 [Sun Nov 12 17:25:13 CET 2006]

Fixes a bug introduced in version 2.00p71 which kept horizontal and vertical lines from being drawn.

V 2.00p71 [Mon Nov 13 00:32:03 CET 2006]

Another bugfix release which adds slightly improvements in performance.

This release mainly addresses a problem when running the viewer with the upcoming Java 1.6 release which resulted in NoSuchMethods exceptions thrown in the conversion step of several (but not all) files. This is fixed now.

V 2.00p70

A bugfix and feature release.

On very rare occasions a POLYLINE was displaced completely. This is fixed.

In order to find the bug I had to implement picking (so I could pick on the incorrectly placed POLYLINE and see where it came from), and as a result the viewer now does allow picking, too. Because picking requires that the whole file is kept in memory it is switched off by default (so the viewer needs less memory). Please enable it in the view settings. It will not work at once (because the file is no longer available in memory) but for all files you load after that.

V 2.00p69

Another bugfix release:

Lines with a linetype scaling of zero were not displayed in former releases, but they are now.

V 2.00p68

Another bugfix release:

The viewer didn't like binary DXF written by recent AutoCAD versions. Binary DXF is a rarely used variety of DXF, which is usually in text format.

V 2.00p67

This is a bugfix release:

  1. Fixed some problems with special HATCH objects which resulted in incorrect rendering of these objects.
  2. Added the possibility to read incorrect DXF files where a floating point number is used at places where only integer numbers are acceptable.

V 2.00p66

Fixed problem with cached fonts not found.

Added internal debugging support.
Try to run with Java property debug.show.window set to true (i.e. -Ddebug.show.window=true).

V 2.00p65

This incorporates improvements for printing and PDF/Postscript save useful when handling bigger files. Printing and saving is done in a background thread and does no longer block the GUI.

V 2.00p64

Fixes -- once again (sigh) -- the bug which removed the history buttons from the 2d view toolbar.

V 2.00p63

Fixes the bug which removed the history buttons from the 2d view toolbar.

V 2.00p62

Fixes some problems which memory which is not released when a model view is closed.

V 2.00p61

Small changes:

V 2.00p60

Various minor improvements and a little bit of brush up for the new load mode introduced in p59.

V 2.00p59

Fixed i18n exception not allowing PDF and PostScript export.

Changed loading code so it's easier to load multiple files into one model. This will still need a little brush up.

V 2.00p58

Optimization is difficult. On some files reading became very slow as a result of the optimizations introduced in the previous version. This is fixed now.

V 2.00p57

This release adds a lot of improvements for drawing of large files. The achieved speed enhancements depend on the data contained in the DXF file, and they are mostly useful if the data contains lots of texts in TrueTypeFonts (TTF).

Usually the viewer draws TTF texts anti-aliased because they are better readable this way. But on some architectures anti-aliasing takes a lot of time. So now there's a possibility to switch off anti-aliasing but it's probably not necessary because there are some other optimizations which have a better effect. Here's some results from a 30 MByte DXF with 30000 texts (mostly TTF) and where info reports 1.1 million lines. The times are stopped on a Athlon XP 1600+ under Linux with an awful X setup which makes anti-aliasing very slow as you can easily notice.

Anti-Aliasingmin. Text HeightRedraw Time/s
ON031
off09.1
ON21.8
off21.8

When zooming into the model there is another optimization running in the background which does clipping of larger objects before they are dropped in the internal drawing routine which speds up drawing of the file used for the tests above (where it was always drawn completely) 5fold (from somewhat above 4.0 to 0.8 seconds).

Another improvement is for the reduced mode used during movements (eg rotation, panning, zooming). The reduced mode used until the previous version (now called static reduce mode) just draws every nth line. This gives useful results for standard files, but with large files something like every 100th line is drawn, which is good for an overview but does not leave much to be seen when zoomed deep into the model.

Now there's another reduced drawing mode called (guess what) dynamic reduce mode which tries to adapt to the number of objects really displayed.

You can set the reduce mode and other settings in the settings dialog.

V 2.00p56

Fixed problem with zoom indication rectangle missing in 3D view.

V 2.00p55

Another major reduce of jar file size by using proguard and by removing some duplicate entries introduced by ant's jar task:

Previous size:1,465,802 Bytes
Current size:896,509 Bytes
Difference (gain):569,293 Bytes

V 2.00p54

I used the time between Xmas and New Year's Eve to rearrange everything internally into clearly defined modules. For a mere user the only recognizable change is slightly reduced size of the jar file.

V 2.00p53

Fixed problem with too many spline fit points created.

V 2.00p52

Fixed problems which sometimes resulted in NullPointerExceptions.

V 2.00p51

Fixed ugly flickering during load.

Also added new versions of the starter scripts dv.cmd and dv.sh with special options which are helping the viewer loading files faster.

V 2.00p50

Added reduced drawing during mouse wheel usages.

Exchanged previous output routines for PS, PDF and SVG with optimized ones with improved speed and less memory footprint.

V 2.00p49

Fixed positioning of DIMENSION if it is offset in z direction.

V 2.00p48

Fixed NPE when codepage is undefined, and IllegalPathStateError on HATCH w/o boundary definition.

V 2.00p47

Fixed problem with unavailable codepage ANSI_869 when running Java 5 under Windows.

V 2.00p46

Enhanced AutoCAD 2004/2006 compatibility.

V 2.00p45

Fixes a problem with ARC entities where the start angle is the same as the end angle.

V 2.00p44

Cosmetic changes.

V 2.00p43

Fixes a class cast exception when adding a 3D file to a 2D view.

V 2.00p42

This release introduces some minor performance optimizations and fixes the following bugs:

V 2.00p41

This release only incorporates an internally refactoring needed for another project.

V 2.00p39

V 2.00p38

V 2.00p37

Added Recent Files feature.

V 2.00p36

Fixed bug resulting in sometimes incorrect HATCH placement.

V 2.00p35

Fixed bug resulting in sometimes incorrect 2D POLYLINE placement.

V 2.00p34

Fixed resource exceptions in PS/PDF output dialogs.

V 2.00p33

Added mnemonics and accelerators.

V 2.00p32

Fixed infinite loop with buggy DXF files.

V 2.00p31

Fixed memory problem with lines with too many dashes.

V 2.00p30

Fixed problem with underlined text in 3D view.

V 2.00p29

Added the possibility to always use the middle mouse button for panning which comes quite handy if ypu want to measure angles in the 2D view.

V 2.00p28

V 2.00p27

Added some bells and whistles for 2D rotation.

V 2.00p26

Fixed problem which resulted in line drawn to upper left corner of view window in rare circumstances.

V 2.00p25

Improved printing and vector format output by allowing floating point coordinates for these tasks.

V 2.00p24

Minor bug fixes.

V 2.00p23

Minor bug fixes.

V 2.00p22

Added rotation for 2D files.

V 2.00p21

Fixed various line type problems.

V 2.00p20

More drawing optimizations.

V 2.00p19

This release fixes a bug where the viewer allocates more and more memory on each redraw which occured in rare circumstances introduced in version 2.00p17 (not publically released).

V 2.00p18

This release adds support for the LEADER entity, fixed a problem with rotated MTEXT and includes first steps on improved drawing routines (15% faster).

V 2.00p16

This release fixes some problems with the placement of the model in PostScript and PDF export.

V 2.00p15

This was the first official preview. It was released on July 6, 2005, to celebrate the European Parliament's decision against software patents.