Skip to content

A javascript parser for DXF files. It reads DXF file strings into one large javascript object with more readable properties and a more logical structure.

License

Notifications You must be signed in to change notification settings

hypar-io/dxf-parser

 
 

Repository files navigation

Dxf-Parser

Dxf Parser is a javascript parser for dxf files. It reads dxf files into one large javascript object with readable properties and a more logical structure.

Also, keep an eye on three-dxf, a browser module for rendering the output of Dxf-Parser in the browser.

Install

npm install dxf-parser

Browsers -- As of 0.1.3 standalone browserify version is in the commonjs/ folder. Copy it out of the install directory or just download it from the GitHub repo directly. We may evetually publish this to bower, but the build environment needs a little work first.

Usage

import DxfParser from 'dxf-parser';

// Grab fileText in node.js or browser
const fileText = ...;

const parser = new DxfParser();
try {
    const dxf = parser.parse(fileText);
} catch(err) {
    return console.error(err.stack);
}

See the wiki Example Output page to get an idea of what the results look like.

Run Samples

node.js

npm install
npm run build
node samples/node/parseSync
node samples/node/parseStream

browser - the three-dxf repo has a sample for viewing dxf cad in the browser

What's Supported

Support

  • Header
  • Most 2D entities
  • Layers
  • LType table
  • Block table and inserts
  • VPort table
  • Text and some MTEXT
  • Some XData

Does not yet support

  • 3DSolids
  • All types of Leaders
  • other less common objects and entities.

Contributing

See the wiki for info on contributing

Run Tests

npm install -g mocha
//Then
npm test
//OR
mocha test

About

A javascript parser for DXF files. It reads DXF file strings into one large javascript object with more readable properties and a more logical structure.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 52.4%
  • TypeScript 47.6%