1 # SPDX-License-Identifier: GPL-2.0-or-later
3 # Contributed to by PKHG, Meta Androcto, Noctumsolis, Lijenstina,
4 # Spivak Vladimir (cwolf3d)
5 # Origunally an addon by Andy Houston
8 "name": "Geodesic Domes",
9 "author": "Andy Houston",
11 "blender": (2, 80, 0),
12 "location": "View3D > Add > Mesh",
13 "description": "Create geodesic dome type objects.",
15 "doc_url": "{BLENDER_MANUAL_URL}/addons/add_mesh/geodesic_domes.html",
16 "category": "Add Mesh",
21 importlib
.reload(add_shape_geodesic
)
22 importlib
.reload(forms_271
)
23 importlib
.reload(geodesic_classes_271
)
24 importlib
.reload(third_domes_panel_271
)
25 importlib
.reload(vefm_271
)
28 from . import add_shape_geodesic
29 from . import forms_271
30 from . import geodesic_classes_271
31 from . import third_domes_panel_271
32 from . import vefm_271
36 def Geodesic_contex_menu(self
, context
):
42 if obj
.data
is not None and 'GeodesicDome' in obj
.data
.keys():
43 props
= layout
.operator("mesh.generate_geodesic_dome", text
="Change Geodesic Dome")
45 for prm
in third_domes_panel_271
.GeodesicDomeParameters():
46 setattr(props
, prm
, obj
.data
[prm
])
49 # Define "Extras" menu
50 def menu_func(self
, context
):
52 lay_out
.operator_context
= 'INVOKE_REGION_WIN'
55 oper
= lay_out
.operator("mesh.generate_geodesic_dome",
56 text
="Geodesic Dome", icon
="MESH_ICOSPHERE")
61 add_shape_geodesic
.add_pose_shape_fast
,
62 third_domes_panel_271
.GenerateGeodesicDome
,
63 third_domes_panel_271
.DialogOperator
,
67 from bpy
.utils
import register_class
71 # Add "Extras" menu to the "Add Mesh" menu
72 bpy
.types
.VIEW3D_MT_mesh_add
.append(menu_func
)
73 bpy
.types
.VIEW3D_MT_object_context_menu
.prepend(Geodesic_contex_menu
)
77 # Remove "Extras" menu from the "Add Mesh" menu.
78 bpy
.types
.VIEW3D_MT_object_context_menu
.remove(Geodesic_contex_menu
)
79 bpy
.types
.VIEW3D_MT_mesh_add
.remove(menu_func
)
81 from bpy
.utils
import unregister_class
82 for cls
in reversed(classes
):
85 if __name__
== "__main__":