• Stars
    star
    139
  • Rank 262,954 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 7 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

JavaScript DXF writer

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