def epicyclic_gearing_3d_construction(c):
    """ construct the 3D-assembly-configurations of the epicyclic_gearing
  """
    epicyclic_gearing_3dconf1 = []
    epicyclic_gearing_3dconf1.append(('annulus_fig', 0.0, 0.0, 0.0, 0.0, c[
        'gear_profile_height'], 'i', 'xy', 0.0, 0.0, 0.0))
    epicyclic_gearing_3dconf1.append(('sun_fig', 0.0, 0.0, 0.0, 0.0, c[
        'gear_profile_height'], 'i', 'xy', 0.0, 0.0, 0.0))
    for i in range(c['planet_nb']):
        fig_id = 'planet_{:d}_fig'.format(i)
        epicyclic_gearing_3dconf1.append((fig_id, 0.0, 0.0, 0.0, 0.0, c[
            'gear_profile_height'], 'i', 'xy', 0.0, 0.0, 0.0))
    epicyclic_gearing_3dconf1.append(('front_planet_carrier_fig', 0.0, 0.0,
        0.0, 0.0, c['gear_profile_height'], 'i', 'xy', 0.0, 0.0, 7.0 * c[
        'gear_profile_height']))
    epicyclic_gearing_3dconf1.append(('rear_planet_carrier_fig', 0.0, 0.0, 
        0.0, 0.0, c['gear_profile_height'], 'i', 'xy', 0.0, 0.0, -5.0 * c[
        'gear_profile_height']))
    for i in range(c['planet_nb']):
        fig_id = 'middle_planet_carrier_{:d}_fig'.format(i)
        epicyclic_gearing_3dconf1.append((fig_id, 0.0, 0.0, 0.0, 0.0, c[
            'gear_profile_height'], 'i', 'xy', 0.0, 0.0, 5.0 * c[
            'gear_profile_height']))
    r_assembly = {}
    r_slice = {}
    r_assembly['epicyclic_gearing_3dconf1'] = epicyclic_gearing_3dconf1
    hr = c['holder_radius']
    hh = c['gear_profile_height'] / 2.0
    r_slice['epicyclic_gearing_3dconf1'] = 2 * hr, 2 * hr, c[
        'gear_profile_height'], -hr, -hr, 0.0, [hh], [], []
    return r_assembly, r_slice
