[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [3797] contrib/py/scripts/addons: move geodesic domes to "Object" category

Brendon Murphy meta.androcto1 at gmail.com
Mon Oct 1 02:16:13 CEST 2012


Revision: 3797
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=3797
Author:   meta-androcto
Date:     2012-10-01 00:16:13 +0000 (Mon, 01 Oct 2012)
Log Message:
-----------
move geodesic domes to "Object" category
commit of add_mesh_cad_objects project container for window, balcony & sove

Modified Paths:
--------------
    contrib/py/scripts/addons/geodesic_domes/__init__.py

Added Paths:
-----------
    contrib/py/scripts/addons/add_mesh_cad_objects/
    contrib/py/scripts/addons/add_mesh_cad_objects/__init__.py
    contrib/py/scripts/addons/add_mesh_cad_objects/add_mesh_balcony.py
    contrib/py/scripts/addons/add_mesh_cad_objects/add_mesh_sove.py
    contrib/py/scripts/addons/add_mesh_cad_objects/add_mesh_window.py

Added: contrib/py/scripts/addons/add_mesh_cad_objects/__init__.py
===================================================================
--- contrib/py/scripts/addons/add_mesh_cad_objects/__init__.py	                        (rev 0)
+++ contrib/py/scripts/addons/add_mesh_cad_objects/__init__.py	2012-10-01 00:16:13 UTC (rev 3797)
@@ -0,0 +1,87 @@
+# ##### BEGIN GPL LICENSE BLOCK #####
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU General Public License
+#  as published by the Free Software Foundation; either version 2
+#  of the License, or (at your option) any later version.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with this program; if not, write to the Free Software Foundation,
+#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# ##### END GPL LICENSE BLOCK #####
+# Contributed to by
+# SAYproductions, meta-androcto #
+
+bl_info = {
+    "name": "Cad Objects",
+    "author": "SAYproductions, meta-androcto",
+    "version": (0, 2),
+    "blender": (2, 6, 4),
+    "location": "View3D > Add > Mesh > Cad Objects",
+    "description": "Add cad object types",
+    "warning": "",
+    "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.6/Py/"\
+        "Scripts",
+    "tracker_url": "https://projects.blender.org/tracker/index.php?"\
+        "func=detail&aid=32711",
+    "category": "Add Mesh"}
+
+
+if "bpy" in locals():
+    import imp
+    imp.reload(add_mesh_balcony)
+    imp.reload(add_mesh_sove)
+    imp.reload(add_mesh_window)
+
+else:
+    from . import add_mesh_balcony
+    from . import add_mesh_sove
+    from . import add_mesh_window
+
+import bpy
+
+
+class INFO_MT_mesh_objects_add(bpy.types.Menu):
+    # Define the "mesh objects" menu
+    bl_idname = "INFO_MT_cad_objects_add"
+    bl_label = "Cad Objects"
+
+    def draw(self, context):
+        layout = self.layout
+        layout.operator_context = 'INVOKE_REGION_WIN'
+        layout.operator("mesh.add_say3d_balcony",
+            text="Balcony")
+        layout.operator("mesh.add_say3d_sove",
+            text="Sove")
+        layout.operator("mesh.add_say3d_pencere",
+            text="Window")
+
+
+# Register all operators and panels
+
+# Define "Extras" menu
+def menu_func(self, context):
+    self.layout.menu("INFO_MT_cad_objects_add", icon="PLUGIN")
+
+
+def register():
+    bpy.utils.register_module(__name__)
+
+    # Add "Extras" menu to the "Add Mesh" menu
+    bpy.types.INFO_MT_mesh_add.append(menu_func)
+
+
+def unregister():
+    bpy.utils.unregister_module(__name__)
+
+    # Remove "Extras" menu from the "Add Mesh" menu.
+    bpy.types.INFO_MT_mesh_add.remove(menu_func)
+
+if __name__ == "__main__":
+    register()

Added: contrib/py/scripts/addons/add_mesh_cad_objects/add_mesh_balcony.py
===================================================================
--- contrib/py/scripts/addons/add_mesh_cad_objects/add_mesh_balcony.py	                        (rev 0)
+++ contrib/py/scripts/addons/add_mesh_cad_objects/add_mesh_balcony.py	2012-10-01 00:16:13 UTC (rev 3797)
@@ -0,0 +1,492 @@
+'''
+bl_info = {
+    "name": "Balcony",
+    "author": "SayPRODUCTIONS",
+    "version": (1, 0),
+    "blender": (2, 5, 9),
+    "api": 33333,
+    "location": "View3D > Add > Mesh > Say3D",
+    "description": "Balcony olusturma",
+    "warning": "",
+    "wiki_url": "",
+    "tracker_url": "",
+    "category": "Add Mesh"}
+'''
+import bpy, bmesh
+from bpy.props import *
+from bpy_extras.object_utils import object_data_add
+from mathutils import Vector
+import operator
+import os
+from math import pi, sin, cos, sqrt, atan
+def MAT(AD,R,G,B):
+    if AD not in bpy.data.materials:
+        mtl=bpy.data.materials.new(AD)
+        mtl.diffuse_color     = ([R,G,B])
+        mtl.diffuse_shader    = 'LAMBERT'
+        mtl.diffuse_intensity = 1.0
+    else:
+        mtl=bpy.data.materials[AD]
+    return mtl
+def Prs(s,v):
+    if v=='1':
+        s.lst=3
+        s.ls0='1';s.by0= 80;s.bk0=20;s.bf0=4;s.fh0=3;s.fd0=2;s.f00=16;s.f01=12;s.f02=12;s.f03=12
+        s.ls1='3';s.my1=  4;s.mg1= 4
+        s.ls2='4';s.kt2="2";s.ky2= 5;s.kk2=5
+    if v=='2':
+        s.lst=5
+        s.ls0='1';s.by0= 15;s.bk0=20;s.bf0=0
+        s.ls1='2';s.py1= 60;s.pd1=10
+        s.ls2='1';s.by2= 15;s.bk2=20;s.bf2=0
+        s.ls3='3';s.my3=  4;s.mg3= 4
+        s.ls4='4';s.kt4="2";s.ky4= 5;s.kk4=5
+    if v=='3':
+        s.lst=3
+        s.ls0='1';s.by0= 40;s.bk0=10;s.bf0=0
+        s.ls1='5';s.cy1= 56
+        s.ls2='4';s.kt2="1";s.ky2= 0;s.kk2=4
+    if v=='4':
+        s.lst=2
+        s.ls0='1';s.by0= 30;s.bk0=20;s.bf0=0
+        s.ls1='3';s.my1=  4;s.mg1= 4
+    if v=='5':
+        s.lst=2
+        s.ls0='1';s.by0= 27;s.bk0=20;s.bf0=2;s.fh0=3;s.fd0=2;s.f00=7;s.f01=7
+        s.ls1='3';s.my1=  4;s.mg1= 4
+    if v=='6':
+        s.lst=6
+        s.ls0='1';s.by0= 50;s.bk0=20;s.bf0=2;s.fh0=3;s.fd0=2;s.f00=12;s.f01=20
+        s.ls1='3';s.my1=  4;s.mg1= 4
+        s.ls2='4';s.kt2="2";s.ky2= 5;s.kk2=4
+        s.ls3='4';s.kt3="2";s.ky3= 5;s.kk3=4
+        s.ls4='4';s.kt4="2";s.ky4= 5;s.kk4=4
+        s.ls5='4';s.kt5="2";s.ky5= 5;s.kk5=5
+def EXT(PR,vr,fc,lz,mz,rz):
+    n=len(vr)
+    m=len(PR)
+    if lz==0:
+        for P in PR:vr.append([-mz,P[0],P[1]])
+    else:
+        for P in PR:vr.append([ P[0]-mz,  lz,P[1]])
+        for P in PR:vr.append([ P[0]-mz,P[0],P[1]])
+    if rz==0:
+        for P in PR:vr.append([ mz,P[0],P[1]])
+    else:
+        for P in PR:vr.append([-P[0]+mz,P[0],P[1]])
+        for P in PR:vr.append([-P[0]+mz,  rz,P[1]])
+    if   lz==0 and rz==0:l=1
+    elif lz==0 and rz> 0:l=2
+    elif lz> 0 and rz==0:l=2
+    elif lz> 0 and rz> 0:l=3
+    for j in range(0,l):
+        for i in range(0,m):
+            a=j*m
+            if i==m-1:fc.append([a+i+n,a+0+n+0,a+0+n+0+m,a+i+n+m])
+            else:     fc.append([a+i+n,a+i+n+1,a+i+n+1+m,a+i+n+m])
+def add_object(s,context):
+    fc=[];vr=[];SM=[]
+    Bal=[];Par=[];Mer=[];Krm=[];Glass=[];Dos=[]
+    blok=[]#    [ Tip ][             Balcony           [                    Joint_Gap                        ] [  Bulwark  ] [   Marble  ] [       Chrome      ] [  Glass  ]
+    blok.append([s.ls0,[s.by0,s.bk0,s.bf0,s.fh0,s.fd0,[s.f00,s.f01,s.f02,s.f03,s.f04,s.f05,s.f06,s.f07]],[s.py0,s.pd0],[s.my0,s.mg0],[s.kt0,s.ky0,s.kk0],[s.cy0]])
+    blok.append([s.ls1,[s.by1,s.bk1,s.bf1,s.fh1,s.fd1,[s.f10,s.f11,s.f12,s.f13,s.f14,s.f15,s.f16,s.f17]],[s.py1,s.pd1],[s.my1,s.mg1],[s.kt1,s.ky1,s.kk1],[s.cy1]])
+    blok.append([s.ls2,[s.by2,s.bk2,s.bf2,s.fh2,s.fd2,[s.f20,s.f21,s.f22,s.f23,s.f24,s.f25,s.f26,s.f27]],[s.py2,s.pd2],[s.my2,s.mg2],[s.kt2,s.ky2,s.kk2],[s.cy2]])
+    blok.append([s.ls3,[s.by3,s.bk3,s.bf3,s.fh3,s.fd3,[s.f30,s.f31,s.f32,s.f33,s.f34,s.f35,s.f36,s.f37]],[s.py3,s.pd3],[s.my3,s.mg3],[s.kt3,s.ky3,s.kk3],[s.cy3]])
+    blok.append([s.ls4,[s.by4,s.bk4,s.bf4,s.fh4,s.fd4,[s.f40,s.f41,s.f42,s.f43,s.f44,s.f45,s.f46,s.f47]],[s.py4,s.pd4],[s.my4,s.mg4],[s.kt4,s.ky4,s.kk4],[s.cy4]])
+    blok.append([s.ls5,[s.by5,s.bk5,s.bf5,s.fh5,s.fd5,[s.f50,s.f51,s.f52,s.f53,s.f54,s.f55,s.f56,s.f57]],[s.py5,s.pd5],[s.my5,s.mg5],[s.kt5,s.ky5,s.kk5],[s.cy5]])
+    blok.append([s.ls6,[s.by6,s.bk6,s.bf6,s.fh6,s.fd6,[s.f60,s.f61,s.f62,s.f63,s.f64,s.f65,s.f66,s.f67]],[s.py6,s.pd6],[s.my6,s.mg6],[s.kt6,s.ky6,s.kk6],[s.cy6]])
+    blok.append([s.ls7,[s.by7,s.bk7,s.bf7,s.fh7,s.fd7,[s.f70,s.f71,s.f72,s.f73,s.f74,s.f75,s.f76,s.f77]],[s.py7,s.pd7],[s.my7,s.mg7],[s.kt7,s.ky7,s.kk7],[s.cy7]])
+
+    h=-s.dds/100;dh=h+s.dhg/100;du=s.duz/100;
+    lz=s.luz/100;mz=s.muz/200;rz=s.ruz/100
+    dg=-((blok[0][1][1]-s.ddg)/100)
+    if h<0:#Pavement
+        if lz==0 and rz==0:
+            vr=[[-mz,du,h],[ mz,du, h],[-mz,dg, h],[ mz,dg, h],[-mz,dg, 0],
+                [ mz,dg,0],[-mz, 0,dh],[ mz, 0,dh],[-mz,du,dh],[ mz,du,dh]]
+            fc=[[0,1,3,2],[2,3,5,4],[6,7,9,8]];Dos=[0,1,2]
+        if lz==0 and rz >0:
+            vr=[[-mz,   du,h],[ mz-dg,du, h],[-mz,   dg, h],[ mz-dg,dg, h],[-mz,   dg, 0],
+                [ mz-dg,dg,0],[-mz, 0,   dh],[ mz-dg, 0,dh],[-mz,   du,dh],[ mz-dg,du,dh],[ mz-dg,du,0]]
+            fc=[[0,1,3,2],[2,3,5,4],[6,7,9,8],[3,1,10,5]];Dos=[0,1,2,3]
+        if lz >0 and rz==0:
+            vr=[[-mz+dg,du,h],[ mz,   du, h],[-mz+dg,dg, h],[ mz,   dg, h],[-mz+dg,dg, 0],
+                [ mz,   dg,0],[-mz+dg, 0,dh],[ mz,    0,dh],[-mz+dg,du,dh],[ mz,   du,dh],[-mz+dg,du,0]]
+            fc=[[0,1,3,2],[2,3,5,4],[6,7,9,8],[0,2,4,10]];Dos=[0,1,2,3]
+        if lz >0 and rz >0:
+            vr=[[-mz+dg,dg,0],[mz-dg,dg,0],[-mz+dg,dg, h],[mz-dg,dg, h],[-mz+dg,du, h],[mz-dg,du, h],
+                [-mz+dg,du,0],[mz-dg,du,0],[-mz,    0,dh],[mz,    0,dh],[-mz,   du,dh],[mz,   du,dh]]
+            fc=[[1,0,2,3],[3,2,4,5],[6,4,2,0],[3,5,7,1],[8,9,11,10]];Dos=[0,1,2,3,4]
+    else:
+        vr=[[-mz, 0, h],[mz, 0, h],[-mz,du, h],[mz,du, h],
+            [-mz,du,dh],[mz,du,dh],[-mz, 0,dh],[mz, 0,dh]]
+        fc=[[1,0,2,3],[5,4,6,7]];Dos=[0,1]
+    z=0
+    for i in range(s.lst):
+        if blok[i][0]=='1':#Balcony
+            k1=blok[i][1][1]/100;h =blok[i][1][0]/100
+            fh=blok[i][1][3]/100;fd=blok[i][1][4]/100
+            PR=[[-k1,z],[0,z],[0,z+h],[-k1,z+h]]
+            z+=h;fz=z
+            for f in range(blok[i][1][2]):
+                fz-=blok[i][1][5][f]/100
+                PR.append([-k1,   fz   ]);PR.append([-k1+fd,fz   ])
+                PR.append([-k1+fd,fz-fh]);PR.append([-k1,   fz-fh])
+                fz-=fh
+            BB=len(fc)
+            EXT(PR,vr,fc,lz,mz,rz)
+            BE=len(fc)
+            for F in range(BB,BE):Bal.append(F)
+        if blok[i][0]=='2':#Bulwark
+            k1=blok[i][2][1]/100;h=blok[i][2][0]/100
+            PR=[[-k1,z],[0,z],[0,z+h],[-k1,z+h]]
+            z+=h
+            BB=len(fc)
+            EXT(PR,vr,fc,lz,mz,rz)
+            BE=len(fc)
+            for F in range(BB,BE):Par.append(F)
+        if blok[i][0]=='3':#Marble
+            k1=blok[0][1][1]/100;k2=blok[i][3][1]/100;h=blok[i][3][0]/100
+            PR=[[-k1-k2,z],[k2,z],[k2,z+h],[-k1-k2,z+h]]
+            z+=h
+            BB=len(fc)
+            EXT(PR,vr,fc,lz,mz,rz)
+            BE=len(fc)

@@ Diff output truncated at 10240 characters. @@


More information about the Bf-extensions-cvs mailing list