static void Main(string[] args)
        {
            //int afjko = CylBoxer.RunMain();
            //Console.ReadLine();

            Console.WriteLine("Run program with Executable Enable Flags? Enter \"Yes\" or \"No\".");
            bool useEnableFlags = prompt_user();
            Console.WriteLine("Enter \"Yes\" to use Cylinder Stock. Enter \"No\" to use Rectangular Prism Stock.");
            bool useCylinerStock = prompt_user();
            string inputStepNCFileName = args[0];
            //this handles both .stpnc's and .238's
            string hold = inputStepNCFileName.Replace(".238", "");
            string toSend = hold.Replace(".stpnc", "");
            string finalFileName = "rawpieceaddedfromtoolpath_" + inputStepNCFileName;
            AptStepMaker asm1 = new AptStepMaker();
            asm1.Open238(inputStepNCFileName);
            Finder find1 = new Finder();
            find1.Open238(inputStepNCFileName);
            long wp_id = find1.GetMainWorkplan();
            decode_workplan(asm1, find1, wp_id, useEnableFlags);
            Console.WriteLine("Path units: {0}", path_units);
            Console.WriteLine("Xmax: {0} ", xmax);
            Console.WriteLine("Xmin: {0} ", xmin);
            Console.WriteLine("Ymax: {0} ", ymax);
            Console.WriteLine("Ymin: {0} ", ymax);
            Console.WriteLine("Zmax: {0} ", zmax);
            Console.WriteLine("Zmin: {0} ", zmin);
            string rawMaterialName = BBoxer.RunMain(toSend, xmax, xmin, ymax, ymin, zmax, zmin, path_units, useCylinerStock);
            asm1.Rawpiece(rawMaterialName);
            asm1.SaveAsP21(finalFileName);
        }