Dead simple 2D DXF writer


Keywords
DXF, CAD, AutoCAD
License
MIT
Install
npm install dxf-writer@1.18.4

Documentation

JavaScript DXF writer

Simple DXF writer.

Installing

npm install dxf-writer

Node.js example

const Drawing = require('dxf-writer');
const fs = require('fs');

let d = new Drawing();

d.setUnits('Decimeters');
d.drawText(10, 0, 10, 0, 'Hello World'); // draw text in the default layer named "0"
d.addLayer('l_green', Drawing.ACI.GREEN, 'CONTINUOUS');
d.setActiveLayer('l_green');
d.drawText(20, -70, 10, 0, 'go green!');

//or fluent
d.addLayer('l_yellow', Drawing.ACI.YELLOW, 'DOTTED')
 .setActiveLayer('l_yellow')
 .drawCircle(50, -30, 25);

fs.writeFileSync(__filename + '.dxf', d.toDxfString());

Example preview in the LibreCAD: exmple in LibreCAD

Browser examples

Supported entities:

  • arc
  • circle
  • ellipse
  • line
  • point
  • polygon
  • polyline
  • polyline 3D
  • spline
  • text
  • 3DFace

Supported colors:

  • red
  • green
  • cyan
  • blue
  • magenta
  • white

Supported units:

  • Unitless
  • Inches
  • Feet
  • Miles
  • Millimeters
  • Centimeters
  • Meters
  • Kilometers
  • Microinches
  • Mils
  • Yards
  • Angstroms
  • Nanometers
  • Microns
  • Decimeters
  • Decameters
  • Hectometers
  • Gigameters
  • Astronomical units
  • Light years
  • Parsecs

Line types

3 line type out of the box (CONTINUOUS, DASHED, DOTTED) with the ability to add a custom line type.

let d = new Drawing();
d.addLineType('DASHDOT', '_ . _ ', [0.5, -0.5, 0.0, -0.5]);