Gitpedia

ACadSharp

C# library to read/write cad files like dxf/dwg.

From DomCR·Updated June 1, 2026·View on GitHub·

Check the [documentation](https://domcr.github.io/ACadSharp/index.html) for specific information about the library. The project is written primarily in C#, distributed under the MIT License license, first published in 2021. Key topics include: cad, dwg, dwg-files, dwg-reader, dwg-writer.

Latest release: v3.6.12
May 18, 2026View Changelog →

ACadSharp

Build&Test License nuget downloads Coverage Status

C# library to read/write cad files like dxf/dwg.

Check the documentation for specific information about the library.

Features

ACadSharp allows to read or create CAD files using .Net and also extract or modify existing content in the files, the main features may be listed as:

  • Read/Write Dxf binary files
  • Read/Write Dxf ASCII files
  • Read Dwg files
  • Write Dwg files
  • Extract/Modify the geometric information from the different entities in the model
  • Control over the table elements like Blocks, Layers and Styles, allows you to read, create or modify the different tables

For pdf export check :construction: ACadSharp.Pdf :construction:.

Compatible Dwg/Dxf versions:

DxfReaderDxfWriterDwgReaderDwgWriter
AC1009:heavy_check_mark::x::x::x:
AC1012:heavy_check_mark::heavy_check_mark::x::x:
AC1014:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:
AC1015:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:
AC1018:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:
AC1021:heavy_check_mark::heavy_check_mark::heavy_check_mark::x:
AC1024:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:
AC1027:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:
AC1032:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:

Code Example

c
public static void Main() { string path = "sample.dwg"; CadDocument doc = DwgReader.Read(path, onNotification); } // Process a notification from the reader private static void onNotification(object sender, NotificationEventArgs e) { Console.WriteLine(e.Message); }

For more code examples check.

Building

Before building run:

console
git submodule update --init --recursive

This command will clone the submodules necessary to build the project.

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from DomCR/ACadSharp via the GitHub API.Last fetched: 6/1/2026