Kabeja is a Java library for parsing, processing and converting Autodesk's DXF format. You can use Kabeja from the CommandLine or embed into your application. All parsed data are accessible with the DOM-like API. The processing system allows you to process, filter (e.g. XSLT) and convert DXF drafts to different output formats (SVG, JPEG, PNG, TI…
Java Other
Latest commit f126b44 Nov 25, 2010 Michele Franzin FIX: gzip output preference now works

README

Kabeja is a small library for parsing DXF-Files and converting
this to SVG. It is licensed under the Apache Software License 2.0.


Limitation:
-----------
There are not all Entities of DXF supported yet. Text-Entities generate problems too.

Supported:

 
 *Arc
 *Attrib
 *Polyline
 *Circle
 *Line
 *Blocks/Insert
 *Text
 *MText
 *LWPolyline
 *Solid
 *Trace
 *Ellipse
 *Dimension
 *Image
 *Leader
 *XLine
 *Ray
 *Hatch
 *Spline
 *MLine

Planned:


 
 * Tolerance


You can use Kabeja from CLI (Command Line Interface) or embed in your application. 

GUI:
----
Windows: 
		* double-click "kabeja.exe"

Linux: 
   		* sh kabeja.sh
   		
   		or:
   		
   		* chmod a=rx kabeja.sh (only ones)
   		* ./kabeja.sh
   		
Other:
       * java -jar launcher.jar



CLI:
----
in the Kabeja-folder try:

  * Help and pipeline list
  
     java -jar launcher.jar --help 
  
  * Convert to svg

    java -jar launcher.jar -nogui -pipeline svg myfile.dxf result.svg
  
  * Convert to pdf|jpeg|png|...
  
      java -jar launcher.jar -nogui -pipeline <pdf|jpeg|png>  myfile.dxf 
  
  
Normally Java uses 64 MB of your memory, to setup more use the following commandline
switch:  

java -Xmx256m  -jar ..... 
  

  
GUI-Viewer:
-----------
in the 'lib'-folder try:

  java -jar kabeja-svgview.jar
  
  
  
Cocoon 2.1 (XML-Publishing-Framework http://cocoon.apache.org/2.1):
-------------------------------------------------------------------

Copy the 'kabeja.jar' and 'kabeja-svg2dxf-cocoon.jar' to your WEB-INF/lib-folder
of your Cocoon-Webapplication. Then you can use Kabeja as Generator like:


in your sitemap/subsitemap:

snippet:
--------

<map:components>
     .....   
 <map:generators default="file">
    
  <map:generator name="dxf2svg" src="org.kabeja.cocoon.generation.DXF2SVGGenerator"/>
    
 </map:generators>

  
....
 <map:pipelines>
   
   <map:pipeline>
    
     <map:match pattern="dxf/*.svg">
        <map:generate type="dxf2svg" src="dxf/{1}.dxf"/>
	  ...
	   <!-- transform things you need -->
	
	<map:serialize type="xml"/>
     </map:match>
    
    </map:pipeline>
   
   ....
   
   
   </map:pipelines>

Note: DXF-drafts often real large drafts, so the SVGDocument will consume a lot of memory. The Generator is 
Cacheable so the first run will take more time.




Feedback and Help
-----------------

Any help and feedback are greatly appreciated.

Mail: simon.mieth@gmx.de