ACadSharp
C# library to read/write cad files like dxf/dwg.
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.
ACadSharp
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:
| DxfReader | DxfWriter | DwgReader | DwgWriter | |
|---|---|---|---|---|
| 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
cpublic 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:
consolegit submodule update --init --recursive
This command will clone the submodules necessary to build the project.
Contributors
Showing top 12 contributors by commit count.