def gear_profile_3d_construction(c):
    """ construct the 3D-assembly-configurations of the gear_profile
  """
    gp_assembly_conf1 = []
    gp_assembly_conf1.append(('first_gear', 0.0, 0.0, 0.0, 0.0, c[
        'gear_profile_height'], 'i', 'xy', 0.0, 0.0, 0.0))
    if c['g2_exist']:
        gp_assembly_conf1.append(('second_gear', 0.0, 0.0, 0.0, 0.0, c[
            'gear_profile_height'], 'i', 'xy', 0.0, 0.0, 0.0))
    r_assembly = {}
    r_slice = {}
    r_assembly['gp_assembly_conf1'] = gp_assembly_conf1
    fgr = c['g1_param']['module'] * (c['gear_tooth_nb'] + 2) / 2.0
    hh = c['gear_profile_height'] / 2.0
    r_slice['gp_assembly_conf1'] = 2 * fgr, 2 * fgr, c['gear_profile_height'
        ], c['center_position_x'] - fgr, c['center_position_y'] - fgr, 0.0, [hh
        ], [], []
    return r_assembly, r_slice
