Moved nesting to SawCut library

This commit is contained in:
AJ
2021-10-04 19:06:33 -04:00
parent 793c6173b1
commit 44f3cbfa81
18 changed files with 186 additions and 86 deletions

View File

@@ -1,10 +1,12 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
# Visual Studio Version 16
VisualStudioVersion = 16.0.31402.337
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CutToLength", "CutToLength\CutToLength.csproj", "{3E82A1E3-07A8-40C4-ABC4-DF24C5120073}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SawCut", "SawCut\SawCut.csproj", "{3D873FF0-6930-4BCE-A5A9-DA5C20354DEE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -15,8 +17,15 @@ Global
{3E82A1E3-07A8-40C4-ABC4-DF24C5120073}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3E82A1E3-07A8-40C4-ABC4-DF24C5120073}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3E82A1E3-07A8-40C4-ABC4-DF24C5120073}.Release|Any CPU.Build.0 = Release|Any CPU
{3D873FF0-6930-4BCE-A5A9-DA5C20354DEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3D873FF0-6930-4BCE-A5A9-DA5C20354DEE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3D873FF0-6930-4BCE-A5A9-DA5C20354DEE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3D873FF0-6930-4BCE-A5A9-DA5C20354DEE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {808BC913-D54E-464A-A54C-55EB8D018724}
EndGlobalSection
EndGlobal

View File

@@ -1,4 +1,5 @@
using System.Drawing;
using SawCut;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;

View File

@@ -83,14 +83,9 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="ArchUnits.cs" />
<Compile Include="Nesting\BestFitEngine.cs" />
<Compile Include="Bin.cs" />
<Compile Include="BinItem.cs" />
<Compile Include="Controls\BinLayoutView.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Fraction.cs" />
<Compile Include="Forms\MainForm.cs">
<SubType>Form</SubType>
</Compile>
@@ -103,13 +98,10 @@
<Compile Include="Forms\ResultsForm.Designer.cs">
<DependentUpon>ResultsForm.cs</DependentUpon>
</Compile>
<Compile Include="Nesting\Engine2.cs" />
<Compile Include="Nesting\IEngine.cs" />
<Compile Include="Nesting\Result.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Tool.cs" />
<Compile Include="UIItem.cs" />
<Compile Include="Models\UIItem.cs" />
<EmbeddedResource Include="Forms\MainForm.resx">
<DependentUpon>MainForm.cs</DependentUpon>
</EmbeddedResource>
@@ -168,6 +160,12 @@
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\SawCut\SawCut.csproj">
<Project>{3D873FF0-6930-4BCE-A5A9-DA5C20354DEE}</Project>
<Name>SawCut</Name>
</ProjectReference>
</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.

View File

@@ -1,5 +1,6 @@
using CutToLength.Nesting;
using Newtonsoft.Json;
using Newtonsoft.Json;
using SawCut;
using SawCut.Nesting;
using SimpleExpressionEvaluator;
using System;
using System.Collections.Generic;

View File

@@ -29,23 +29,24 @@
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.dataGridView2 = new System.Windows.Forms.DataGridView();
this.label1 = new System.Windows.Forms.Label();
this.spacingDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.lengthDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.usedLengthDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.remainingLengthDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.utilizationDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.binBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.dataGridView2 = new System.Windows.Forms.DataGridView();
this.binLayoutView1 = new CutToLength.Controls.BinLayoutView();
this.label1 = new System.Windows.Forms.Label();
this.uIItemBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.binBindingSource)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
@@ -55,7 +56,6 @@
this.splitContainer2.Panel2.SuspendLayout();
this.splitContainer2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.binBindingSource)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.uIItemBindingSource)).BeginInit();
this.menuStrip1.SuspendLayout();
this.SuspendLayout();
@@ -84,6 +84,46 @@
this.dataGridView1.TabIndex = 0;
this.dataGridView1.RowEnter += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_RowEnter);
//
// spacingDataGridViewTextBoxColumn
//
this.spacingDataGridViewTextBoxColumn.DataPropertyName = "Spacing";
this.spacingDataGridViewTextBoxColumn.HeaderText = "Spacing";
this.spacingDataGridViewTextBoxColumn.Name = "spacingDataGridViewTextBoxColumn";
//
// lengthDataGridViewTextBoxColumn
//
this.lengthDataGridViewTextBoxColumn.DataPropertyName = "Length";
this.lengthDataGridViewTextBoxColumn.HeaderText = "Length";
this.lengthDataGridViewTextBoxColumn.Name = "lengthDataGridViewTextBoxColumn";
//
// usedLengthDataGridViewTextBoxColumn
//
this.usedLengthDataGridViewTextBoxColumn.DataPropertyName = "UsedLength";
this.usedLengthDataGridViewTextBoxColumn.HeaderText = "Used Length";
this.usedLengthDataGridViewTextBoxColumn.Name = "usedLengthDataGridViewTextBoxColumn";
this.usedLengthDataGridViewTextBoxColumn.ReadOnly = true;
//
// remainingLengthDataGridViewTextBoxColumn
//
this.remainingLengthDataGridViewTextBoxColumn.DataPropertyName = "RemainingLength";
this.remainingLengthDataGridViewTextBoxColumn.HeaderText = "Remaining Length";
this.remainingLengthDataGridViewTextBoxColumn.Name = "remainingLengthDataGridViewTextBoxColumn";
this.remainingLengthDataGridViewTextBoxColumn.ReadOnly = true;
this.remainingLengthDataGridViewTextBoxColumn.Width = 150;
//
// utilizationDataGridViewTextBoxColumn
//
this.utilizationDataGridViewTextBoxColumn.DataPropertyName = "Utilization";
dataGridViewCellStyle1.Format = "P2";
this.utilizationDataGridViewTextBoxColumn.DefaultCellStyle = dataGridViewCellStyle1;
this.utilizationDataGridViewTextBoxColumn.HeaderText = "Utilization";
this.utilizationDataGridViewTextBoxColumn.Name = "utilizationDataGridViewTextBoxColumn";
this.utilizationDataGridViewTextBoxColumn.ReadOnly = true;
//
// binBindingSource
//
this.binBindingSource.DataSource = typeof(SawCut.Bin);
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
@@ -136,6 +176,17 @@
this.dataGridView2.Size = new System.Drawing.Size(276, 216);
this.dataGridView2.TabIndex = 1;
//
// binLayoutView1
//
this.binLayoutView1.BackColor = System.Drawing.Color.White;
this.binLayoutView1.Bin = null;
this.binLayoutView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.binLayoutView1.Location = new System.Drawing.Point(0, 0);
this.binLayoutView1.Name = "binLayoutView1";
this.binLayoutView1.Size = new System.Drawing.Size(714, 216);
this.binLayoutView1.TabIndex = 1;
this.binLayoutView1.Text = "class11";
//
// label1
//
this.label1.BackColor = System.Drawing.Color.LightSlateGray;
@@ -149,57 +200,6 @@
this.label1.Text = "Items";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// spacingDataGridViewTextBoxColumn
//
this.spacingDataGridViewTextBoxColumn.DataPropertyName = "Spacing";
this.spacingDataGridViewTextBoxColumn.HeaderText = "Spacing";
this.spacingDataGridViewTextBoxColumn.Name = "spacingDataGridViewTextBoxColumn";
//
// lengthDataGridViewTextBoxColumn
//
this.lengthDataGridViewTextBoxColumn.DataPropertyName = "Length";
this.lengthDataGridViewTextBoxColumn.HeaderText = "Length";
this.lengthDataGridViewTextBoxColumn.Name = "lengthDataGridViewTextBoxColumn";
//
// usedLengthDataGridViewTextBoxColumn
//
this.usedLengthDataGridViewTextBoxColumn.DataPropertyName = "UsedLength";
this.usedLengthDataGridViewTextBoxColumn.HeaderText = "Used Length";
this.usedLengthDataGridViewTextBoxColumn.Name = "usedLengthDataGridViewTextBoxColumn";
this.usedLengthDataGridViewTextBoxColumn.ReadOnly = true;
//
// remainingLengthDataGridViewTextBoxColumn
//
this.remainingLengthDataGridViewTextBoxColumn.DataPropertyName = "RemainingLength";
this.remainingLengthDataGridViewTextBoxColumn.HeaderText = "Remaining Length";
this.remainingLengthDataGridViewTextBoxColumn.Name = "remainingLengthDataGridViewTextBoxColumn";
this.remainingLengthDataGridViewTextBoxColumn.ReadOnly = true;
this.remainingLengthDataGridViewTextBoxColumn.Width = 150;
//
// utilizationDataGridViewTextBoxColumn
//
this.utilizationDataGridViewTextBoxColumn.DataPropertyName = "Utilization";
dataGridViewCellStyle5.Format = "P2";
this.utilizationDataGridViewTextBoxColumn.DefaultCellStyle = dataGridViewCellStyle5;
this.utilizationDataGridViewTextBoxColumn.HeaderText = "Utilization";
this.utilizationDataGridViewTextBoxColumn.Name = "utilizationDataGridViewTextBoxColumn";
this.utilizationDataGridViewTextBoxColumn.ReadOnly = true;
//
// binBindingSource
//
this.binBindingSource.DataSource = typeof(CutToLength.Bin);
//
// binLayoutView1
//
this.binLayoutView1.BackColor = System.Drawing.Color.White;
this.binLayoutView1.Bin = null;
this.binLayoutView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.binLayoutView1.Location = new System.Drawing.Point(0, 0);
this.binLayoutView1.Name = "binLayoutView1";
this.binLayoutView1.Size = new System.Drawing.Size(714, 216);
this.binLayoutView1.TabIndex = 1;
this.binLayoutView1.Text = "class11";
//
// uIItemBindingSource
//
this.uIItemBindingSource.DataSource = typeof(CutToLength.UIItem);
@@ -234,6 +234,7 @@
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Results";
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.binBindingSource)).EndInit();
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
@@ -243,7 +244,6 @@
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
this.splitContainer2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.binBindingSource)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.uIItemBindingSource)).EndInit();
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();

View File

@@ -1,4 +1,5 @@
using System;
using SawCut;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;

View File

@@ -120,13 +120,10 @@
<metadata name="binBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="binBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="uIItemBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>165, 17</value>
</metadata>
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>560, 17</value>
<value>330, 17</value>
</metadata>
</root>

View File

@@ -1,4 +1,5 @@
using Newtonsoft.Json;
using SawCut;
using System;
namespace CutToLength

View File

@@ -1,8 +1,9 @@
using System;
using System.Text.RegularExpressions;
using System.Text;
using SawCut;
namespace CutToLength
namespace SawCut
{
public static class ArchUnits
{

View File

@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Linq;
namespace CutToLength
namespace SawCut
{
public class Bin
{

View File

@@ -1,4 +1,4 @@
namespace CutToLength
namespace SawCut
{
public class BinItem
{

View File

@@ -3,7 +3,7 @@ using System.Text.RegularExpressions;
using System.Text;
using System.Linq;
namespace CutToLength
namespace SawCut
{
public static class Fraction
{

View File

@@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Data;
using System.Linq;
namespace CutToLength.Nesting
namespace SawCut.Nesting
{
public class BestFitEngine : IEngine
{

View File

@@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Data;
using System.Linq;
namespace CutToLength.Nesting
namespace SawCut.Nesting
{
public class Engine2 : IEngine
{

View File

@@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace CutToLength.Nesting
namespace SawCut.Nesting
{
public interface IEngine
{

View File

@@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace CutToLength.Nesting
namespace SawCut.Nesting
{
public class Result
{

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("SawCut")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SawCut")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("3d873ff0-6930-4bce-a5a9-da5c20354dee")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

55
SawCut/SawCut.csproj Normal file
View File

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{3D873FF0-6930-4BCE-A5A9-DA5C20354DEE}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>SawCut</RootNamespace>
<AssemblyName>SawCut</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</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>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="ArchUnits.cs" />
<Compile Include="Bin.cs" />
<Compile Include="BinItem.cs" />
<Compile Include="Fraction.cs" />
<Compile Include="Nesting\BestFitEngine.cs" />
<Compile Include="Nesting\IEngine.cs" />
<Compile Include="Nesting\Result.cs" />
<Compile Include="Nesting\Engine2.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>