a083652afbf81c09ebf8631e5f998fe6ad503a63
[blender-addons-contrib.git] / add_mesh_cad_objects / __init__.py
1 # ##### BEGIN GPL LICENSE BLOCK #####
2 #
3 #  This program is free software; you can redistribute it and/or
4 #  modify it under the terms of the GNU General Public License
5 #  as published by the Free Software Foundation; either version 2
6 #  of the License, or (at your option) any later version.
7 #
8 #  This program is distributed in the hope that it will be useful,
9 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
10 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 #  GNU General Public License for more details.
12 #
13 #  You should have received a copy of the GNU General Public License
14 #  along with this program; if not, write to the Free Software Foundation,
15 #  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 #
17 # ##### END GPL LICENSE BLOCK #####
18 # Contributed to by
19 # SAYproductions, meta-androcto #
20
21 bl_info = {
22     "name": "Cad Objects",
23     "author": "SAYproductions, meta-androcto",
24     "version": (0, 2),
25     "blender": (2, 6, 4),
26     "location": "View3D > Add > Mesh > Cad Objects",
27     "description": "Add cad object types",
28     "warning": "",
29     "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.6/Py/"\
30         "Scripts",
31     "tracker_url": "https://projects.blender.org/tracker/index.php?"\
32         "func=detail&aid=32711",
33     "category": "Add Mesh"}
34
35
36 if "bpy" in locals():
37     import imp
38     imp.reload(add_mesh_balcony)
39     imp.reload(add_mesh_sove)
40     imp.reload(add_mesh_window)
41     imp.reload(add_mesh_beam_builder)
42
43 else:
44     from . import add_mesh_balcony
45     from . import add_mesh_sove
46     from . import add_mesh_window
47     from . import add_mesh_beam_builder
48
49 import bpy
50
51
52 class INFO_MT_mesh_objects_add(bpy.types.Menu):
53     # Define the "mesh objects" menu
54     bl_idname = "INFO_MT_cad_objects_add"
55     bl_label = "Cad Objects"
56
57     def draw(self, context):
58         layout = self.layout
59         layout.operator_context = 'INVOKE_REGION_WIN'
60         layout.menu("INFO_MT_mesh_beambuilder_add",
61             text="Beam Builder")
62         layout.operator("mesh.add_say3d_balcony",
63             text="Balcony")
64         layout.operator("mesh.add_say3d_sove",
65             text="Sove")
66         layout.operator("mesh.add_say3d_pencere",
67             text="Window")
68
69
70 # Register all operators and panels
71
72 # Define "Extras" menu
73 def menu_func(self, context):
74     self.layout.menu("INFO_MT_cad_objects_add", icon="PLUGIN")
75
76
77 def register():
78     bpy.utils.register_module(__name__)
79
80     # Add "Extras" menu to the "Add Mesh" menu
81     bpy.types.INFO_MT_mesh_add.append(menu_func)
82
83
84 def unregister():
85     bpy.utils.unregister_module(__name__)
86
87     # Remove "Extras" menu from the "Add Mesh" menu.
88     bpy.types.INFO_MT_mesh_add.remove(menu_func)
89
90 if __name__ == "__main__":
91     register()