ACadSharp 1.4.0-alpha

This is a prerelease version of ACadSharp.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package ACadSharp --version 1.4.0-alpha                
NuGet\Install-Package ACadSharp -Version 1.4.0-alpha                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ACadSharp" Version="1.4.0-alpha" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ACadSharp --version 1.4.0-alpha                
#r "nuget: ACadSharp, 1.4.0-alpha"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install ACadSharp as a Cake Addin
#addin nuget:?package=ACadSharp&version=1.4.0-alpha&prerelease

// Install ACadSharp as a Cake Tool
#tool nuget:?package=ACadSharp&version=1.4.0-alpha&prerelease                

ACadSharp Build&Test License nuget

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

Compatible Dwg/Dxf versions:

  • Release 1.1
  • Release 1.2
  • Release 1.4
  • Release 2.0
  • Release 2.10
  • AC1002 - Release 2.5
  • AC1003 - Release 2.6
  • AC1004 - Release 9
  • AC1006 - Release 10
  • AC1009 - Release 11/12 (LT R1/R2)
  • AC1012 - Release 14, 14.01 (LT97/LT98)
  • AC1014 - Release 14, 14.01 (LT97/LT98)
  • AC1015 - AutoCAD 2000/2000i/2002
  • AC1018 - AutoCAD 2004/2005/2006
  • AC1021 - AutoCAD 2007/2008/2009
  • AC1024 - AutoCAD 2010/2011/2012
  • AC1027 - AutoCAD 2013/2014/2015/2016/2017
  • AC1032 - AutoCAD 2018/2019/2020

Code Example

public static void Main()
{
	string path = "sample.dwg";
	CadDocument doc = DwgReader.Read(path, onNotification);
}

// Process a notification form the reader
private static void onNotification(object sender, NotificationEventArgs e)
{
	Console.WriteLine(e.Message);
}

WIP

The dwg/dxf readers are not yet fully implemented, the NotificationHandler will send a message to inform about the objects that could not be readed or any other error in the process.

Dwg entities not implemented

  • ACDBPLACEHOLDER
  • VP_ENT_HDR
  • POLYLINE_PFACE
  • ACAD_PROXY_OBJECT
  • MESH

Dxf reader entities not implemented

  • POLYLINE_PFACE
  • ACAD_TABLE
  • WIPEOUT
  • LEADER
  • 3DFACE
  • MESH

Dwg Writer

ACadSharp has the first DwgWriter in an early alpha.

Compatible versions:

  • AC1014 - Release 14, 14.01 (LT97/LT98) - (WIP)
    • Produces a valid file but the entities are not in the model.
  • AC1015 - AutoCAD 2000/2000i/2002
    • This version depens on the implementation of VP_ENT_HDR to work properly with the different Viewports
  • AC1018 - AutoCAD 2004/2005/2006 (MOST STABLE - RECOMENDED)
Not implemented versions - Status
  • AC1021 - AutoCAD 2007/2008/2009
    • This is a particular and isolated version for DWG, it uses a different compression system and file distribution, due this difficulties, this version will not be implemented any time soon.
  • AC1024 - AutoCAD 2010/2011/2012
  • AC1027 - AutoCAD 2013/2014/2015/2016/2017
  • AC1032 - AutoCAD 2018/2019/2020
    • This versions have a similar structure than AC1018 but the file that is generated by the current writer seems to be missing something, they need further investigation.

The right now the writer only has capability to write points and lines in the *Model_space and it does not write all the information for the different objects in the document such as dictionaries, extended data or reactors.

IMPORTANT NOTE when you open a file writen by ACadSharp with Autocad the following message will appear: The drawing file requires recovery press on Recover and it will open the file normally. This process this may cause a loss of information on the file.

Contributing

Please feel free to fork this repo and send a pull request if you want to contribute to this project.

Notice that this project is in an alpha version, not all the features are implemented and there can be bugs due to this so any PR with a bug fix will not have a priority.

If you want to contribute you can check the Dxf documentation here.

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
.NET Framework net48 is compatible.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 4.8

    • No dependencies.
  • .NETStandard 2.1

    • No dependencies.
  • net5.0

    • No dependencies.
  • net6.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on ACadSharp:

Package Downloads
ACadSharp.Pdf

Library to generate Pdf files from dwg and dxf files read by ACadSharp.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.4.0-beta 3,104 8/4/2024
2.3.2-beta 1,418 6/11/2024
2.3.1-beta 172 6/3/2024
2.2.0-beta 1,012 4/11/2024
2.1.1-beta 729 3/12/2024
2.1.0-beta 312 1/31/2024
2.0.3-beta 142 1/27/2024
2.0.2-beta 107 1/26/2024
2.0.1-beta 1,524 12/6/2023
2.0.0-beta 296 11/21/2023
1.5.0-alpha 191 10/4/2023 1.5.0-alpha is deprecated because it has critical bugs.
1.4.4-alpha 2,164 5/24/2023 1.4.4-alpha is deprecated because it has critical bugs.
1.4.3-alpha 264 4/15/2023 1.4.3-alpha is deprecated because it has critical bugs.
1.4.2-alpha 202 3/31/2023 1.4.2-alpha is deprecated because it has critical bugs.
1.4.1-alpha 417 2/4/2023 1.4.1-alpha is deprecated because it has critical bugs.
1.4.0-alpha 561 12/23/2022 1.4.0-alpha is deprecated because it has critical bugs.
1.3.7-alpha 160 12/1/2022 1.3.7-alpha is deprecated because it has critical bugs.
1.3.6-alpha 264 9/30/2022 1.3.6-alpha is deprecated because it has critical bugs.
1.3.5-alpha 181 8/28/2022 1.3.5-alpha is deprecated because it has critical bugs.
1.3.4-alpha 240 7/25/2022 1.3.4-alpha is deprecated because it has critical bugs.
1.3.3-alpha 203 6/25/2022 1.3.3-alpha is deprecated because it has critical bugs.
1.3.2-alpha 179 6/12/2022 1.3.2-alpha is deprecated because it has critical bugs.
1.3.1-alpha 195 5/25/2022 1.3.1-alpha is deprecated because it has critical bugs.
1.3.0-alpha 212 5/7/2022 1.3.0-alpha is deprecated because it has critical bugs.
1.2.3-alpha 220 4/25/2022 1.2.3-alpha is deprecated because it has critical bugs.
1.2.2-alpha 188 4/16/2022 1.2.2-alpha is deprecated because it has critical bugs.
1.2.1-alpha 184 4/10/2022 1.2.1-alpha is deprecated because it has critical bugs.
1.2.0-alpha 197 4/9/2022 1.2.0-alpha is deprecated because it has critical bugs.
1.1.1-alpha 207 3/6/2022 1.1.1-alpha is deprecated because it has critical bugs.
1.0.2 444 10/24/2024
1.0.1 461 10/2/2024
1.0.0 651 9/3/2024
1.0.0-beta 103 11/21/2023