Skip to content
 
 

Latest commit

 

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DXF package for Dart and Flutter developers

pub package

DXF package for Dart developers to create, read, update and delete the data in AutoCAD DXF file - a CAD data file format developed by Autodesk.

Usage

A simple usage example:

import 'package:dxf/dxf.dart';

void main() {
  var launchTime = DateTime.now();
  await DXF.load('example/data/r18.dxf').then((DXF dxf) {
    dxf.save(newPath: 'example/data/r18s.dxf');
    print(DateTime.now().difference(launchTime));
  });
}
import 'package:dxf/dxf.dart';

Future<void> main() async {
  var dxf = await DXF.create('example/data/new.dxf');
  var point = AcDbPoint(dxf.nextHandle, x: 10, y: 10.5);
  dxf.addEntities(point);

  var circle = AcDbCircle(
    dxf.nextHandle,
    x: 7.0,
    y: 14.0,
    z: 0,
    r: 10.0,
  );
  dxf.addEntities(circle);

  var line = AcDbLine(
    dxf.nextHandle,
    x: 12.2,
    y: 11.5,
    x1: 22.0,
    y1: 13.6,
  );
  dxf.addEntities(line);

  var vertices = <List<double>>[];
  vertices.addAll([
    [25, 11],
    [21, 18],
    [23, 23]
  ]);
  var pl = AcDbPolyline(
    dxf.nextHandle,
    vertices: vertices,
    isClosed: false,
  );
  dxf.addEntities(pl);
  pl.vertices.addAll([
    [24, 25]
  ]);

  var closedPl = AcDbPolyline(
    dxf.nextHandle,
    vertices: [
      [27, 20],
      [36, 20],
      [35, 14],
      [27, 14]
    ],
    isClosed: true,
  );

  dxf.addEntities(closedPl);
  var handle1 = dxf.nextHandle;
  var text = AcDbText(
    handle1,
    x: 11,
    y: 20,
    textString: 'Hello!',
  );
  dxf.addEntities(text);

  var handle = dxf.nextHandle;
  var mtext = AcDbMText(
    handle,
    x: 19,
    y: 7,
    textString: 'Hello!\\PXin chào!',
  );
  dxf.addEntities(mtext);

  print('Saving...');
  await dxf.save().then((_) {
    print('Saved!');
  });

  var e = dxf.getEntityByHandle(handle);
  dxf.removeEntity(e);

  var e1 = dxf.getEntityByHandle(handle1);
  if (e1 is AcDbText) {
    e1.textString = 'Trần Trung Chuyên';
  }

  dxf.addEntities(mtext);

  print('Saving...');
  await dxf.save().then((_) {
    print('Saved!');
  });

  print('Loading...');
  var dxfr18 = await DXF.load('example/data/r18.dxf');
  await dxfr18.save(newPath: 'example/data/r18s.dxf').then((value) {
    print('Saved!');
  });
}

Features and bugs

Please file feature requests and bugs at the issue tracker.

About

DXF package for Dart developers to create, read, update and delete the data in AutoCAD DXF file - a CAD data file format developed by Autodesk.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages