def bagel_constraint_constructor(ai_parser, ai_variant=0):
    """
  Add arguments relative to the bagel
  """
    r_parser = ai_parser
    r_parser.add_argument('--bagel_axle_diameter', '--bgad', action='store',
        type=float, default=10.0, help='Set the axle_diameter. Default: 10.0')
    r_parser.add_argument('--bagel_axle_internal_diameter', '--bgaid',
        action='store', type=float, default=20.0, help=
        'Set the axle_internal_diameter. If equal to 0.0, set to 2*bagel_axle_diameter. Default: 0.0'
        )
    r_parser.add_argument('--bagel_axle_external_diameter', '--bgaed',
        action='store', type=float, default=0.0, help=
        'Set the axle_external_diameter. If equal to 0.0, set to 2*bagel_axle_internal_diameter. Default: 0.0'
        )
    if ai_variant != 1:
        r_parser.add_argument('--axle_hole_nb', '--ahn', action='store',
            type=int, default=6, help=
            'Set the number of the axle-holes. If equal to 0, no axle-hole is created. Default: 6'
            )
        r_parser.add_argument('--axle_hole_diameter', '--ahd', action=
            'store', type=float, default=4.0, help=
            'Set the diameter of the axle-holes. Default: 4.0')
        r_parser.add_argument('--axle_hole_position_diameter', '--ahpd',
            action='store', type=float, default=0.0, help=
            'Set the diameter of the axle-hole position circle. If equal to 0.0, set to (axle_internal_diameter+axle_external_diameter)/2. Default: 0.0'
            )
        r_parser.add_argument('--axle_hole_angle', '--aha', action='store',
            type=float, default=0.0, help=
            'Set the position angle of the first axle-hole. Default: 0.0')
    r_parser.add_argument('--external_bagel_thickness', '--ebt', action=
        'store', type=float, default=2.0, help=
        'Set the thickness (z-size) of the external_bagel part. Default: 2.0')
    if ai_variant != 1:
        r_parser.add_argument('--middle_bagel_thickness', '--mbt', action=
            'store', type=float, default=6.0, help=
            'Set the thickness (z-size) of the middle_bagel part. Default: 6.0'
            )
    r_parser.add_argument('--internal_bagel_thickness', '--ibt', action=
        'store', type=float, default=2.0, help=
        'Set the thickness (z-size) of the internal_bagel part. Default: 2.0')
    r_parser.add_argument('--bagel_extra_cut_thickness', '--bgect', action=
        'store', type=float, default=0.0, help=
        'Set the extra-cut-thickness for the internal-bagel cut. It can be used to compensate the manufacturing process or to check the 3D assembly with FreeCAD. Default: 0.0'
        )
    return r_parser
