diff --git a/README.md b/README.md index 17fe194..0688261 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ This program can quickly solve the 2D bin packing problem for any number of any ### How to use Download the python file, navigate to its location and run it like this: -`python3 polygon_packer.py [n] [nsi] [nsc]` +`python3 polygon_packer.py -n [n] -nsi [nsi] -nsc [nsc]` - Replace `[n]` with the number of inner polygons you want to solve for - Replace `[nsi]` with the number of sides of the inner polygons (e.g. 4 for a square) - Replace `[nsc]` with the number of sides of the container polygon diff --git a/polygon_packer.py b/polygon_packer.py index c67d95a..31d20d9 100644 --- a/polygon_packer.py +++ b/polygon_packer.py @@ -5,10 +5,10 @@ from joblib import Parallel, delayed import argparse -arg_parser = argparse.ArgumentParser() -arg_parser.add_argument("inner_polygons", type=int, help="Number of inner polygons") -arg_parser.add_argument("inner_sides", type=int, help="Number of sides of the inner polygons") -arg_parser.add_argument("container_sides", type=int, help="Number of sides of the container polygon") +arg_parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter) +arg_parser.add_argument("-n", "--inner_polygons", type=int, required=True, default=argparse.SUPPRESS, help="Number of inner polygons") +arg_parser.add_argument("-nsi", "--inner_sides", type=int, required=True, default=argparse.SUPPRESS, help="Number of sides of the inner polygons") +arg_parser.add_argument("-nsc", "--container_sides", type=int, required=True, default=argparse.SUPPRESS, help="Number of sides of the container polygon") arg_parser.add_argument("--attempts", type=int, default=1000, help="Number of attempts to run") arg_parser.add_argument("--tolerance", type=float, default=1e-8, help="Overlap penalty tolerance. Probably best left at default") arg_parser.add_argument("--finalstep", type=float, default=0.0001, help="How small the last theoretical step in container size decrease will be (it gets smaller over time)")