ACadSharp
C# library to read/write cad files like dxf/dwg.
Install / Use
/learn @DomCR/ACadSharpREADME
ACadSharp

C# library to read/write cad files like dxf/dwg.
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
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.
Visit the :construction: wiki :construction: for the API specification of the library.
Check the documentation for specific information about some use cases.
Building
Before building run:
git submodule update --init --recursive
This command will clone the submodules necessary to build the project.
