dxf-writer2

2D DXF writer with Blocks

Usage no npm install needed!

<script type="module">
  import dxfWriter2 from 'https://cdn.skypack.dev/dxf-writer2';
</script>

README

JavaScript DXF writer

Simple DXF writer.

Installing

npm install dxf-writer

Supported entities:

  • arc
  • circle
  • line
  • point
  • polyline
  • text
  • 3DFace

Supported colors:

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

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

Example

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

let d = new Drawing();

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