JSPM

  • Created
  • Published
  • Downloads 5666
  • Score
    100M100P100Q178851F
  • License MIT

Dead simple 2D DXF writer

Package Exports

  • dxf-writer
  • dxf-writer/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (dxf-writer) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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]);