ACadSharp 1.4.1-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.1-alpha
NuGet\Install-Package ACadSharp -Version 1.4.1-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.1-alpha" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ACadSharp --version 1.4.1-alpha
#r "nuget: ACadSharp, 1.4.1-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.1-alpha&prerelease

// Install ACadSharp as a Cake Tool
#tool nuget:?package=ACadSharp&version=1.4.1-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 reader 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.

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

  • .NETStandard 2.1

    • No dependencies.
  • net5.0

    • No dependencies.
  • net6.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.2.0-beta 82 4/11/2024
2.1.1-beta 257 3/12/2024
2.1.0-beta 228 1/31/2024
2.0.3-beta 81 1/27/2024
2.0.2-beta 57 1/26/2024
2.0.1-beta 640 12/6/2023
2.0.0-beta 215 11/21/2023
1.5.1-alpha 250 10/14/2023
1.5.0-alpha 125 10/4/2023
1.4.4-alpha 1,257 5/24/2023
1.4.3-alpha 205 4/15/2023
1.4.2-alpha 137 3/31/2023
1.4.1-alpha 343 2/4/2023
1.4.0-alpha 431 12/23/2022
1.3.7-alpha 101 12/1/2022
1.3.6-alpha 200 9/30/2022
1.3.5-alpha 128 8/28/2022
1.3.4-alpha 175 7/25/2022
1.3.3-alpha 140 6/25/2022
1.3.2-alpha 116 6/12/2022
1.3.1-alpha 123 5/25/2022
1.3.0-alpha 147 5/7/2022
1.2.3-alpha 149 4/25/2022
1.2.2-alpha 125 4/16/2022
1.2.1-alpha 121 4/10/2022
1.2.0-alpha 128 4/9/2022
1.1.1-alpha 135 3/6/2022
1.1.0-alpha 117 3/2/2022
1.0.1-alpha 250 2/13/2022
1.0.0-beta 59 11/21/2023
1.0.0-alpha 180 11/18/2021