diff options
author | FormerLurker <hochgebe@gmail.com> | 2020-04-26 01:20:39 +0300 |
---|---|---|
committer | FormerLurker <hochgebe@gmail.com> | 2020-04-26 01:20:39 +0300 |
commit | 4fcf89d4995921b89b579d06052df11b66e4879f (patch) | |
tree | 390bbfcab87591e802f9ac91ac2d531b4ae53946 /ArcWelderTest |
Add project files.
Diffstat (limited to 'ArcWelderTest')
-rw-r--r-- | ArcWelderTest/ArcWelderTest.cpp | 268 | ||||
-rw-r--r-- | ArcWelderTest/ArcWelderTest.h | 72 | ||||
-rw-r--r-- | ArcWelderTest/ArcWelderTest.vcxproj | 161 | ||||
-rw-r--r-- | ArcWelderTest/ArcWelderTest.vcxproj.filters | 27 |
4 files changed, 528 insertions, 0 deletions
diff --git a/ArcWelderTest/ArcWelderTest.cpp b/ArcWelderTest/ArcWelderTest.cpp new file mode 100644 index 0000000..a082bc3 --- /dev/null +++ b/ArcWelderTest/ArcWelderTest.cpp @@ -0,0 +1,268 @@ +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Arc Welder: Test Application +// +// This application is only used for ad-hoc testing of the anti-stutter library. +// +// Built using the 'Arc Welder: Anti Stutter' library +// +// Copyright(C) 2020 - Brad Hochgesang +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// This program is free software : you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the +// GNU Affero General Public License for more details. +// +// +// You can contact the author at the following email address: +// FormerLurker@pm.me +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#include "ArcWelderTest.h" +#include "logger.h" +#include <iostream> + +int main(int argc, char* argv[]) +{ + run_tests(argc, argv); +} + +int run_tests(int argc, char* argv[]) +{ + _CrtMemState state; + // This line will take a snapshot + // of the memory allocated at this point. + _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE); + _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDOUT); + _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE); + _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDOUT); + _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE); + _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDOUT); + + //std::string filename = argv[1]; + unsigned int num_runs = 1; + _CrtMemCheckpoint(&state); + + auto start = std::chrono::high_resolution_clock::now(); + for (unsigned int index = 0; index < num_runs; index++) + { + std::cout << "Processing test run " << index + 1 << " of " << num_runs << ".\r\n"; + TestAntiStutter(ANTI_STUTTER_TEST); + //TestInverseProcessor(); + //TestCircularBuffer(); + //TestSegmentedLine(); + //TestSegmentedArc(); + + } + auto end = std::chrono::high_resolution_clock::now(); + _CrtMemDumpAllObjectsSince(&state); + std::chrono::duration<double> diff = end - start; + std::cout << "Tests completed in " << diff.count() << " seconds"; + //std::cout << "Has Memory Leak = " << has_leak << ".\r\n"; + // Set the debug-heap flag so that memory leaks are reported when + // the process terminates. Then, exit. + //printf("Press Any Key to Continue\n"); + //std::getchar(); + return 0; +} + +static gcode_position_args get_single_extruder_position_args() +{ + gcode_position_args posArgs = gcode_position_args(); + posArgs.autodetect_position = true; + posArgs.home_x = 0; + posArgs.home_x_none = true; + posArgs.home_y = 0; + posArgs.home_y_none = true; + posArgs.home_z = 0; + posArgs.home_z_none = true; + posArgs.shared_extruder = true; + posArgs.zero_based_extruder = true; + posArgs.set_num_extruders(1); + posArgs.retraction_lengths[0] = .8; + posArgs.z_lift_heights[0] = .6; + posArgs.x_firmware_offsets[0] = 0; + posArgs.y_firmware_offsets[0] = 1; + posArgs.default_extruder = 0; + posArgs.priming_height = 0.4; + posArgs.minimum_layer_height = 0.05; + posArgs.height_increment = 0.5; + posArgs.g90_influences_extruder = false; + posArgs.xyz_axis_default_mode = "absolute"; + posArgs.e_axis_default_mode = "absolute"; + posArgs.units_default = "millimeters"; + posArgs.location_detection_commands = std::vector<std::string>(); + posArgs.is_bound_ = true; + posArgs.is_circular_bed = false; + posArgs.snapshot_x_min = 0; + posArgs.snapshot_x_max = 250; + posArgs.snapshot_y_min = 0; + posArgs.snapshot_y_max = 210; + posArgs.snapshot_z_min = 0; + posArgs.snapshot_z_max = 200; + posArgs.x_min = 0; + posArgs.x_max = 250; + posArgs.y_min = -3; + posArgs.y_max = 210; + posArgs.z_min = 0; + posArgs.z_max = 200; + return posArgs; +} + +static gcode_position_args get_5_shared_extruder_position_args() +{ + gcode_position_args posArgs = gcode_position_args(); + posArgs.autodetect_position = true; + posArgs.home_x = 0; + posArgs.home_x_none = true; + posArgs.home_y = 0; + posArgs.home_y_none = true; + posArgs.home_z = 0; + posArgs.home_z_none = true; + posArgs.shared_extruder = true; + posArgs.zero_based_extruder = true; + posArgs.set_num_extruders(5); + posArgs.retraction_lengths[0] = .2; + posArgs.retraction_lengths[1] = .4; + posArgs.retraction_lengths[2] = .6; + posArgs.retraction_lengths[3] = .8; + posArgs.retraction_lengths[4] = 1; + posArgs.z_lift_heights[0] = 1; + posArgs.z_lift_heights[1] = .8; + posArgs.z_lift_heights[2] = .6; + posArgs.z_lift_heights[3] = .4; + posArgs.z_lift_heights[4] = .2; + posArgs.x_firmware_offsets[0] = 0; + posArgs.y_firmware_offsets[0] = 1; + posArgs.x_firmware_offsets[1] = 2; + posArgs.y_firmware_offsets[1] = 3; + posArgs.x_firmware_offsets[2] = 4; + posArgs.y_firmware_offsets[2] = 5; + posArgs.x_firmware_offsets[3] = 6; + posArgs.y_firmware_offsets[3] = 7; + posArgs.x_firmware_offsets[4] = 8; + posArgs.y_firmware_offsets[4] = 9; + posArgs.default_extruder = 0; + posArgs.priming_height = 0.4; + posArgs.minimum_layer_height = 0.05; + posArgs.g90_influences_extruder = false; + posArgs.xyz_axis_default_mode = "absolute"; + posArgs.e_axis_default_mode = "absolute"; + posArgs.units_default = "millimeters"; + posArgs.location_detection_commands = std::vector<std::string>(); + posArgs.is_bound_ = true; + posArgs.is_circular_bed = false; + posArgs.snapshot_x_min = 0; + posArgs.snapshot_x_max = 250; + posArgs.snapshot_y_min = 0; + posArgs.snapshot_y_max = 210; + posArgs.snapshot_z_min = 0; + posArgs.snapshot_z_max = 200; + posArgs.x_min = 0; + posArgs.x_max = 250; + posArgs.y_min = -3; + posArgs.y_max = 210; + posArgs.z_min = 0; + posArgs.z_max = 200; + return posArgs; +} + +static gcode_position_args get_5_extruder_position_args() +{ + gcode_position_args posArgs = gcode_position_args(); + posArgs.autodetect_position = true; + posArgs.home_x = 0; + posArgs.home_x_none = true; + posArgs.home_y = 0; + posArgs.home_y_none = true; + posArgs.home_z = 0; + posArgs.home_z_none = true; + posArgs.shared_extruder = false; + posArgs.zero_based_extruder = true; + posArgs.set_num_extruders(5); + posArgs.retraction_lengths[0] = .2; + posArgs.retraction_lengths[1] = .4; + posArgs.retraction_lengths[2] = .6; + posArgs.retraction_lengths[3] = .8; + posArgs.retraction_lengths[4] = 1; + posArgs.z_lift_heights[0] = 1; + posArgs.z_lift_heights[1] = .8; + posArgs.z_lift_heights[2] = .6; + posArgs.z_lift_heights[3] = .4; + posArgs.z_lift_heights[4] = .2; + posArgs.x_firmware_offsets[0] = 0; + posArgs.y_firmware_offsets[0] = 0; + posArgs.x_firmware_offsets[1] = 5; + posArgs.y_firmware_offsets[1] = 0; + posArgs.x_firmware_offsets[2] = 0; + posArgs.y_firmware_offsets[2] = 0; + posArgs.x_firmware_offsets[3] = 0; + posArgs.y_firmware_offsets[3] = 0; + posArgs.x_firmware_offsets[4] = 0; + posArgs.y_firmware_offsets[4] = 0; + posArgs.default_extruder = 0; + posArgs.priming_height = 0.4; + posArgs.minimum_layer_height = 0.05; + posArgs.g90_influences_extruder = false; + posArgs.xyz_axis_default_mode = "absolute"; + posArgs.e_axis_default_mode = "absolute"; + posArgs.units_default = "millimeters"; + posArgs.location_detection_commands = std::vector<std::string>(); + posArgs.is_bound_ = true; + posArgs.is_circular_bed = false; + posArgs.snapshot_x_min = 0; + posArgs.snapshot_x_max = 250; + posArgs.snapshot_y_min = 0; + posArgs.snapshot_y_max = 210; + posArgs.snapshot_z_min = 0; + posArgs.snapshot_z_max = 200; + posArgs.x_min = 0; + posArgs.x_max = 250; + posArgs.y_min = -3; + posArgs.y_max = 210; + posArgs.z_min = 0; + posArgs.z_max = 200; + return posArgs; +} + +static void TestAntiStutter(std::string filePath) +{ + double max_resolution = 0.05; + std::vector<std::string> logger_names; + logger_names.push_back("arc_welder.gcode_conversion"); + std::vector<int> logger_levels; + //logger_levels.push_back(log_levels::DEBUG); + logger_levels.push_back(log_levels::INFO); + logger* p_logger = new logger(logger_names, logger_levels); + p_logger->set_log_level(INFO); + //arc_welder arc_welder_obj(BENCHY_0_5_MM_NO_WIPE, "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\test_output.gcode", p_logger, max_resolution, false, 50, static_cast<progress_callback>(on_progress)); + arc_welder arc_welder_obj(ISSUE_PRICKLYPEAR, "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\test_output.gcode", p_logger, max_resolution, false, 50); + //BENCHY_LAYER_1GCODE + //SMALL_TEST + //FACE_SHIELD + //BENCHY_LAYER_1_NO_WIPE + //BENCHY_0_5_MM_NO_WIPE + //BENCHY_CURA_RELATIVE_E_NOWIPE + //BENCHY_CURA_ABSOLUTE_E_NOWIPE + //BENCHY_GYROID_RELATIVE_E_NOWIPE + //BENCHY_STACK_RELATIVE + //BENCHY_STACK_ABSOLUTE + //FRACTAL + //SUPER_HUGE_TEST + //TORTURE_TEST + //ORCHID_POD + //DIFFICULT_CURVES + //ISSUE_PRICKLYPEAR_LAYER_0_114 + arc_welder_obj.process(); + p_logger->log(0, INFO, "Processing Complete."); + delete p_logger; +} + +static bool on_progress(double percentComplete, double secondsElapsed, double estimatedSecondsRemaining, int gcodes_processed, int currentLine, int points_compressed, int arcs_created) +{ + std::cout << percentComplete << "% complete in " << secondsElapsed << " seconds with " << estimatedSecondsRemaining << " seconds remaining. Current Line: " << currentLine << ", Points Compressed:" << points_compressed << ", ArcsCreated:" << arcs_created << "\r\n"; + return true; +} diff --git a/ArcWelderTest/ArcWelderTest.h b/ArcWelderTest/ArcWelderTest.h new file mode 100644 index 0000000..4cda18a --- /dev/null +++ b/ArcWelderTest/ArcWelderTest.h @@ -0,0 +1,72 @@ +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Arc Welder: Test Application +// +// This application is only used for ad-hoc testing of the anti-stutter library. +// +// Built using the 'Arc Welder: Anti Stutter' library +// +// Copyright(C) 2020 - Brad Hochgesang +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// This program is free software : you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the +// GNU Affero General Public License for more details. +// +// +// You can contact the author at the following email address: +// FormerLurker@pm.me +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma once +#include <stdlib.h> +#include <crtdbg.h> +#include <assert.h> +#include <iostream> +#include <fstream> +#include <iomanip> +#include <string> +#include <vector> +#include <chrono> +#include "gcode_position.h" +#include "gcode_parser.h" +#include <sstream> +#include "arc_welder.h" +#include "array_list.h" +#include "logger.h" +#include <exception> + +int run_tests(int argc, char* argv[]); +static gcode_position_args get_single_extruder_position_args(); +static gcode_position_args get_5_shared_extruder_position_args(); +static gcode_position_args get_5_extruder_position_args(); +static void TestAntiStutter(std::string filePath); +static bool on_progress(double percentComplete, double secondsElapsed, double estimatedSecondsRemaining, int gcodes_processed, int currentLine, int points_compressed, int arcs_created); + + +static std::string ANTI_STUTTER_TEST = "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\5x5_cylinder_2000Fn_0.2mm_PLA_MK2.5MMU2_4m.gcode"; +static std::string BENCHY_GCODE = "C:\\Users\\Brad\\Documents\\3DPrinter\\Calibration\\Benchy\\3DBenchy_0.2mm_PLA_MK2.5MMU2.gcode"; +static std::string BENCHY_CURA_RELATIVE_E_NOWIPE = "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\3DBenchy_CuraRelative_Gyroid_0.2mm.gcode"; +static std::string BENCHY_GYROID_RELATIVE_E_NOWIPE = "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\3DBenchy_0.2mm_gyroid_relative_e_NoWipe.gcode"; +static std::string BENCHY_GYROID_ABSOLUTE_E_NOWIPE = "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\3DBenchy_Absolute_Gyroid_0.2mm.gcode"; +static std::string BENCHY_0_5_MM_NO_WIPE = "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\Benchy_0.5mm_NoWipe.gcode"; +static std::string BENCHY_LAYER_1GCODE = "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\benchy_l1.gcode"; +static std::string BENCHY_LAYER_1_NO_WIPE = "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\benchy_L1_NoWipe.gcode"; +static std::string BENCHY_STACK_RELATIVE = "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\BenchyStack_Relative.gcode"; +static std::string BENCHY_STACK_ABSOLUTE = "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\BenchyStack_Absolute.gcode"; +static std::string CAM_RING_TEST = "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\5milCamRing_0.2mm_PLA_MK2.5MMU2_16m.gcode"; +static std::string FRACTAL = "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\Mandelbrot.gcode"; +static std::string DIFFICULT_CURVES = "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\DifficultCurves.gcode"; +static std::string FACE_SHIELD = "C:\\Users\\Brad\\Documents\\3DPrinter\\corona_virus\\2X_Visor_Frame_0.35mm_PLA_1h25m.gcode"; +static std::string SMALL_TEST = "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\small_test.gcode"; +static std::string SUPER_HUGE_TEST = "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\super_huge_file.gcode"; +static std::string TORTURE_TEST = "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\stereographic_projection_0.2mm_PLA_MK2.5MMU2_2h49m.gcode"; +static std::string ORCHID_POD = "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\Pla_OrchidPot.gcode"; +static std::string ARC_GYROID_BENCHY_DIFFICULT = "C:\\Users\\Brad\\Documents\\3DPrinter\\AntiStutter\\AS_BenchyArc_Difficult.gcode"; +// Issues +static std::string ISSUE_MIMUPREFERIDA = "C:\\Users\\Brad\\Documents\\AntiStutter\\Issues\\MIMUPREFERIDA\\TESTSTUTTER.gcode"; +static std::string ISSUE_PRICKLYPEAR = "C:\\Users\\Brad\\Documents\\AntiStutter\\Issues\\PricklyPear\\Barbarian.gcode"; +static std::string ISSUE_PRICKLYPEAR_LAYER_0_114 = "C:\\Users\\Brad\\Documents\\AntiStutter\\Issues\\PricklyPear\\Layers0_114.gcode"; diff --git a/ArcWelderTest/ArcWelderTest.vcxproj b/ArcWelderTest/ArcWelderTest.vcxproj new file mode 100644 index 0000000..553380a --- /dev/null +++ b/ArcWelderTest/ArcWelderTest.vcxproj @@ -0,0 +1,161 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <VCProjectVersion>16.0</VCProjectVersion> + <ProjectGuid>{18D7E538-6ACE-44E4-B83E-31C3E44D4227}</ProjectGuid> + <RootNamespace>ArcWelderTest</RootNamespace> + <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Label="Shared"> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <LinkIncremental>true</LinkIncremental> + <IncludePath>$(SolutionDir)\GcodeProcessorLib\;$(SolutionDir)\ArcWelder\;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <LinkIncremental>true</LinkIncremental> + <IncludePath>$(SolutionDir)\GcodeProcessorLib\;$(SolutionDir)\ArcWelder\;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <LinkIncremental>false</LinkIncremental> + <IncludePath>$(SolutionDir)\GcodeProcessorLib\;$(SolutionDir)\ArcWelder\;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <LinkIncremental>false</LinkIncremental> + <IncludePath>$(SolutionDir)\GcodeProcessorLib\;$(SolutionDir)\ArcWelder\;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="ArcWelderTest.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="ArcWelderTest.h" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\ArcWelder\ArcWelder.vcxproj"> + <Project>{1a4dbab1-bb42-4db1-b168-f113784efcef}</Project> + </ProjectReference> + <ProjectReference Include="..\GcodeProcessorLib\GcodeProcessorLib.vcxproj"> + <Project>{31478bae-104b-4cc3-9876-42fa90cbd5fe}</Project> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/ArcWelderTest/ArcWelderTest.vcxproj.filters b/ArcWelderTest/ArcWelderTest.vcxproj.filters new file mode 100644 index 0000000..9ecb598 --- /dev/null +++ b/ArcWelderTest/ArcWelderTest.vcxproj.filters @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;c++;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="ArcWelderTest.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="ArcWelderTest.h"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file |