Simple DXF writer.
npm install dxf-writer
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:
- arc
- circle
- ellipse
- line
- point
- polygon
- polyline
- polyline 3D
- spline
- text
- 3DFace
- red
- green
- cyan
- blue
- magenta
- white
- Unitless
- Inches
- Feet
- Miles
- Millimeters
- Centimeters
- Meters
- Kilometers
- Microinches
- Mils
- Yards
- Angstroms
- Nanometers
- Microns
- Decimeters
- Decameters
- Hectometers
- Gigameters
- Astronomical units
- Light years
- Parsecs
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]);