Skip to content
This repository has been archived by the owner on Oct 11, 2023. It is now read-only.

Commit

Permalink
[2021/03/27]
Browse files Browse the repository at this point in the history
* The netDxf library is now licensed under the MIT License.
* Updated solution file to Visual Studio 2019.
* netDxf targets multiple frameworks, predefined frameworks for Net Framework 4.5, Net Standard 2.1, Net Core 3.1, and NET 5.0.
* The ImageDefinition properties File, Width, Height, HorizontalResolution, and VerticalResoultion now can be modified.
* The ShapeStyle property File can now be modified.
* The UnderlayDefinition property File can now be modified. The file extension must match its type.
* To declutter the DxfDocument, the entity operations such as adding, removing, or retiveing a specific list of entities (Lines, Circles,...) that where done directly through the drawing document have been moved to the Entities property of the DxfDocument.
	These are no more than shortcuts to the real place where the entities are stored in a document, this is the drawing.Layouts[layoutName].AssociatedBlock.Entities.
	The layout where the operations are performed is defined by the ActiveLayout.
* The ImageDefinition constructors "public ImageDefinition(string file)" and "public ImageDefinition(string name, string file)" are only available  when targeting the Net 4.5 framework. This is to avoid the use of the additional System.Drawing.Common.dll library. See CreateImageDefinition() sample.
* The TextStyle method "public static string TrueTypeFontFamilyName(string ttfFont)" is only available  when targeting the Net 4.5 framework. This is to avoid the use of the additional System.Drawing.Common.dll library. It will now only available when targeting the Net 4.5 framework.
* The HeaderVariable DwgCodePage will not be used to load or save DXF files, prior to DxfVersion.AutoCad2007 ASCII encoding will be use and UTF8 for later.
	It doesn't seems to play any role, open a new issue at GitHub if non-ASCII characters does not show up correctly.
	This will avoid the use of additional libraries to handle the encoding code pages.
  • Loading branch information
haplokuon committed Mar 27, 2021
1 parent eb869ff commit 5060604
Show file tree
Hide file tree
Showing 259 changed files with 24,991 additions and 5,355 deletions.
514 changes: 16 additions & 498 deletions LICENSE

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# netDxf
netDxf 2.4.2 Copyright(C) 2009-2021 Daniel Carvajal, Licensed under LGPL
netDxf Copyright(C) 2009-2021 Daniel Carvajal, licensed under MIT License
## Description
netDxf is a .net library programmed in C# to read and write AutoCAD DXF files. It supports AutoCad2000, AutoCad2004, AutoCad2007, AutoCad2010, AutoCad2013, and AutoCad2018 DXF database versions, in both text and binary format.

Expand All @@ -20,7 +20,7 @@ public static void Main()
// an entity
Line entity = new Line(new Vector2(5, 5), new Vector2(10, 5));
// add your entities here
doc.AddEntity(entity);
doc.Entities.Add(entity);
// save to file
doc.Save(file);

Expand All @@ -37,9 +37,9 @@ public static void Main()
Are contained in the source code.
Well, at the moment they are just tests for the work in progress.
## Dependencies and distribution
* .NET Framework 4.5. netDxf only references the NET libraries System.dll and System.Drawing.dll
Multitarget project, predefined frameworks for Net Framework 4.5, Net Standard 2.1, Net Core 3.1, and NET 5.0.
## Compiling
To compile the source code you will need Visual Studio 2015.
Visual Studio 2019.
## Development Status
See [changelog.txt](https://github.com/haplokuon/netDxf/blob/master/doc/Changelog.txt) or the [wiki page](https://github.com/haplokuon/netDxf/wiki) for information on the latest changes.
## Supported entities
Expand Down
1,350 changes: 700 additions & 650 deletions TestDxfDocument/Program.cs

Large diffs are not rendered by default.

36 changes: 0 additions & 36 deletions TestDxfDocument/Properties/AssemblyInfo.cs

This file was deleted.

163 changes: 38 additions & 125 deletions TestDxfDocument/TestDxfDocument.csproj
Original file line number Diff line number Diff line change
@@ -1,149 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{65B33B00-93CE-484A-8023-7A9BA972D4D1}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>TestDxfDocument</RootNamespace>
<AssemblyName>TestDxfDocument</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<StartupObject>TestDxfDocument.Program</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>4.0</OldToolsVersion>
<UpgradeBackupLocation />
<SccProjectName>
</SccProjectName>
<SccLocalPath>
</SccLocalPath>
<SccAuxPath>
</SccAuxPath>
<SccProvider>
</SccProvider>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<TargetFrameworkProfile />
<TargetFramework>net5.0</TargetFramework>
<Authors />
<Company />
<Product />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>
</CodeAnalysisRuleSet>
<PlatformTarget>AnyCPU</PlatformTarget>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DocumentationFile></DocumentationFile>
<DebugType>none</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>
</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
<DebugSymbols>false</DebugSymbols>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>

<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Drawing" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\netDxf\netDxf.csproj">
<Project>{785380E0-CEB9-4C34-82E5-60D0E33E848E}</Project>
<Name>netDxf</Name>
</ProjectReference>
<PackageReference Include="System.Drawing.Common" Version="5.0.0" />
</ItemGroup>

<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<ProjectReference Include="..\netDxf\netDxf.csproj" />
</ItemGroup>

<ItemGroup>
<Content Include="image.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<None Include="sample binary.dxf">
<None Update="image.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="sample.dxf">
<None Update="sample binary.dxf">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="sample.pdf">
<None Update="sample.dxf">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<Content Include="Support\acad.lin">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Support\acadiso.lin">
<None Update="sample.pdf">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Support\ltypeshp.shp">
</None>
<None Update="shape.shx">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Support\ltypeshp.shx">
</None>
<None Update="Support\acad.lin">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Support\shape.shp">
</None>
<None Update="Support\acad.pat">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="shape.shx">
</None>
<None Update="Support\acadiso.lin">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Support\acad.pat">
</None>
<None Update="Support\acadiso.pat">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Support\acadiso.pat">
</None>
<None Update="Support\ltypeshp.shx">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</None>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

</Project>
16 changes: 16 additions & 0 deletions doc/Changelog.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
## Change history

### [2021/03/27]
* The netDxf library is now licensed under the MIT License.
* Updated solution file to Visual Studio 2019.
* netDxf targets multiple frameworks, predefined frameworks for Net Framework 4.5, Net Standard 2.1, Net Core 3.1, and NET 5.0.
* The ImageDefinition properties File, Width, Height, HorizontalResolution, and VerticalResoultion now can be modified.
* The ShapeStyle property File can now be modified.
* The UnderlayDefinition property File can now be modified. The file extension must match its type.
* To declutter the DxfDocument, the entity operations such as adding, removing, or retiveing a specific list of entities (Lines, Circles,...) that where done directly through the drawing document have been moved to the Entities property of the DxfDocument.
These are no more than shortcuts to the real place where the entities are stored in a document, this is the drawing.Layouts[layoutName].AssociatedBlock.Entities.
The layout where the operations are performed is defined by the ActiveLayout.
* The ImageDefinition constructors "public ImageDefinition(string file)" and "public ImageDefinition(string name, string file)" are only available when targeting the Net 4.5 framework. This is to avoid the use of the additional System.Drawing.Common.dll library. See CreateImageDefinition() sample.
* The TextStyle method "public static string TrueTypeFontFamilyName(string ttfFont)" is only available when targeting the Net 4.5 framework. This is to avoid the use of the additional System.Drawing.Common.dll library. It will now only available when targeting the Net 4.5 framework.
* The HeaderVariable DwgCodePage will not be used to load or save DXF files, prior to DxfVersion.AutoCad2007 ASCII encoding will be use and UTF8 for later.
It doesn't seems to play any role, open a new issue at GitHub if non-ASCII characters does not show up correctly.
This will avoid the use of additional libraries to handle the encoding code pages.

### [2.4.2 - 2021/03/23]
* Now the ShapeStyle does not require the SHP file to read the shape information only the SHX must be present.
* The Insert Sync method will not modify any value assigned to the attribute Value property.
Expand Down
Binary file modified doc/netDxf Documentation.chm
Binary file not shown.
51 changes: 19 additions & 32 deletions netDxf.sln
Original file line number Diff line number Diff line change
@@ -1,60 +1,47 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
# Visual Studio Version 16
VisualStudioVersion = 16.0.30717.126
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "netDxf", "netDxf\netDxf.csproj", "{785380E0-CEB9-4C34-82E5-60D0E33E848E}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "netDxf", "netDxf\netDxf.csproj", "{AB0B1738-826F-41BF-ACD0-92BB9421B48B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestDxfDocument", "TestDxfDocument\TestDxfDocument.csproj", "{65B33B00-93CE-484A-8023-7A9BA972D4D1}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestDxfDocument", "TestDxfDocument\TestDxfDocument.csproj", "{08846347-EACA-4903-B935-264A0A46A856}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A8C76985-342A-4AA2-9795-D2D50FCD6F26}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{086E9AC0-28DC-4CBB-AA45-0EE73BF3B236}"
ProjectSection(SolutionItems) = preProject
.gitignore = .gitignore
LICENSE = LICENSE
README.md = README.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "doc", "doc", "{8EA26334-E3A6-4B64-AEA9-AFCA86672EDA}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{6B14C525-BD93-4013-9601-C63F8EE0D20C}"
ProjectSection(SolutionItems) = preProject
doc\Changelog.txt = doc\Changelog.txt
LICENSE = LICENSE
doc\netDxf Documentation.chm = doc\netDxf Documentation.chm
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|Mixed Platforms = Release|Mixed Platforms
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{785380E0-CEB9-4C34-82E5-60D0E33E848E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{785380E0-CEB9-4C34-82E5-60D0E33E848E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{785380E0-CEB9-4C34-82E5-60D0E33E848E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{785380E0-CEB9-4C34-82E5-60D0E33E848E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{785380E0-CEB9-4C34-82E5-60D0E33E848E}.Debug|x86.ActiveCfg = Debug|Any CPU
{785380E0-CEB9-4C34-82E5-60D0E33E848E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{785380E0-CEB9-4C34-82E5-60D0E33E848E}.Release|Any CPU.Build.0 = Release|Any CPU
{785380E0-CEB9-4C34-82E5-60D0E33E848E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{785380E0-CEB9-4C34-82E5-60D0E33E848E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{785380E0-CEB9-4C34-82E5-60D0E33E848E}.Release|x86.ActiveCfg = Release|Any CPU
{65B33B00-93CE-484A-8023-7A9BA972D4D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{65B33B00-93CE-484A-8023-7A9BA972D4D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{65B33B00-93CE-484A-8023-7A9BA972D4D1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{65B33B00-93CE-484A-8023-7A9BA972D4D1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{65B33B00-93CE-484A-8023-7A9BA972D4D1}.Debug|x86.ActiveCfg = Debug|Any CPU
{65B33B00-93CE-484A-8023-7A9BA972D4D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{65B33B00-93CE-484A-8023-7A9BA972D4D1}.Release|Any CPU.Build.0 = Release|Any CPU
{65B33B00-93CE-484A-8023-7A9BA972D4D1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{65B33B00-93CE-484A-8023-7A9BA972D4D1}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{65B33B00-93CE-484A-8023-7A9BA972D4D1}.Release|x86.ActiveCfg = Release|Any CPU
{AB0B1738-826F-41BF-ACD0-92BB9421B48B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AB0B1738-826F-41BF-ACD0-92BB9421B48B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AB0B1738-826F-41BF-ACD0-92BB9421B48B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AB0B1738-826F-41BF-ACD0-92BB9421B48B}.Release|Any CPU.Build.0 = Release|Any CPU
{08846347-EACA-4903-B935-264A0A46A856}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{08846347-EACA-4903-B935-264A0A46A856}.Debug|Any CPU.Build.0 = Debug|Any CPU
{08846347-EACA-4903-B935-264A0A46A856}.Release|Any CPU.ActiveCfg = Release|Any CPU
{08846347-EACA-4903-B935-264A0A46A856}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{8EA26334-E3A6-4B64-AEA9-AFCA86672EDA} = {A8C76985-342A-4AA2-9795-D2D50FCD6F26}
{6B14C525-BD93-4013-9601-C63F8EE0D20C} = {086E9AC0-28DC-4CBB-AA45-0EE73BF3B236}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5CB6F54A-A869-479F-9B47-FA535B56585E}
EndGlobalSection
EndGlobal
Loading

0 comments on commit 5060604

Please sign in to comment.