dxf-writer-test

Dead simple 2D DXF writer

Usage no npm install needed!

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

README

JavaScript DXF writer

Dead simple 2D DXF writer. 2D space only (z is always 0) There is 3DFace, and it has z.

Installing

npm install dxf-writer

Supported entities: line, polyline, 3DFace, arc, circle and text. Supported colors: red, green, cyan, blue, magenta and white. 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