[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [3896] contrib/py/scripts/addons/ add_mesh_building_objects: update window gen by sayproductions

Brendon Murphy meta.androcto1 at gmail.com
Sat Oct 27 00:11:15 CEST 2012


Revision: 3896
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=3896
Author:   meta-androcto
Date:     2012-10-26 22:11:10 +0000 (Fri, 26 Oct 2012)
Log Message:
-----------
update window gen by sayproductions

Modified Paths:
--------------
    contrib/py/scripts/addons/add_mesh_building_objects/__init__.py
    contrib/py/scripts/addons/add_mesh_building_objects/add_mesh_window.py

Modified: contrib/py/scripts/addons/add_mesh_building_objects/__init__.py
===================================================================
--- contrib/py/scripts/addons/add_mesh_building_objects/__init__.py	2012-10-26 17:26:11 UTC (rev 3895)
+++ contrib/py/scripts/addons/add_mesh_building_objects/__init__.py	2012-10-26 22:11:10 UTC (rev 3896)
@@ -67,7 +67,7 @@
             text="Balcony")
         layout.operator("mesh.add_say3d_sove",
             text="Sove")
-        layout.operator("mesh.add_say3d_pencere",
+        layout.operator("mesh.add_say3d_pencere2",
             text="Window")
         layout.operator("mesh.wall_add",
             text="Wall Factory")

Modified: contrib/py/scripts/addons/add_mesh_building_objects/add_mesh_window.py
===================================================================
--- contrib/py/scripts/addons/add_mesh_building_objects/add_mesh_window.py	2012-10-26 17:26:11 UTC (rev 3895)
+++ contrib/py/scripts/addons/add_mesh_building_objects/add_mesh_window.py	2012-10-26 22:11:10 UTC (rev 3896)
@@ -1,79 +1,53 @@
-'''bl_info = {
-    "name": "Window",
+bl_info = {
+    "name": "Window Generator 2",
     "author": "SayPRODUCTIONS",
-    "version": (1, 0),
-    "blender": (2, 5, 9),
+    "version": (2, 0),
+    "blender": (2, 6, 3),
     "api": 33333,
     "location": "View3D > Add > Mesh > Say3D",
-    "description": "Window olusturma",
+    "description": "Window Generator 2",
     "warning": "",
     "wiki_url": "",
     "tracker_url": "",
     "category": "Add Mesh"}
-	'''
 import bpy
 from bpy.props import *
-from bpy_extras.object_utils import object_data_add
-from mathutils import Vector
-import operator
-from math import pi, sin, cos, sqrt, atan
-
-def MAhs():
-    if 'Wood' not in bpy.data.materials:
-        mtl=bpy.data.materials.new('Wood')
-        mtl.diffuse_color     = (0.3,0.18,0.12)
-        mtl.diffuse_shader    = 'LAMBERT' 
-        mtl.diffuse_intensity = 1.0 
+from math import pi, sin, cos, sqrt
+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['Glass']
+        mtl=bpy.data.materials[AD]
     return mtl
-def MPVC():
-    if 'PVC' not in bpy.data.materials:
-        mtl=bpy.data.materials.new('PVC')
-        mtl.diffuse_color     = (0.5,0.4,0.3)
-        mtl.diffuse_shader    = 'LAMBERT' 
-        mtl.diffuse_intensity = 1.0 
-    else:
-        mtl=bpy.data.materials['PVC']
-    return mtl
-
-def MGlass():
-
-    if 'Glass' not in bpy.data.materials:
-        mtl = bpy.data.materials.new('Glass')
-        mtl.diffuse_color     = (0.5,0.8,1.0)
-        mtl.diffuse_shader    = 'LAMBERT' 
-        mtl.diffuse_intensity = 1.0 
-        mtl.use_transparency = True
-        mtl.type = 'SURFACE'
-        mtl.alpha = 0.3
-        mtl.raytrace_mirror.use = True
-        mtl.raytrace_mirror.reflect_factor = 0.65
-    else:
-        mtl=bpy.data.materials['Glass']
-    return mtl
-def MMer():
-    if 'Marble' not in bpy.data.materials:
-        mtl=bpy.data.materials.new('Marble')
-        mtl.diffuse_color     = (0.2,0.1,0.1)
-        mtl.diffuse_shader    = 'LAMBERT' 
-        mtl.diffuse_intensity = 1.0 
-    else:
-        mtl=bpy.data.materials['Marble']
-    return mtl
-
-    matnew1.diffuse_shader = 'OREN_NAYAR' 
-    matnew1.roughness = 0.909
-
-    #spec1
-    matnew1.specular_color = spec1
-    matnew1.specular_shader = 'COOKTORR'
-    matnew1.specular_intensity = 0.5
-    matnew1.alpha = alpha
-    matnew1.ambient = 1
-    matnew1.emit=emit
-
-    return mtl
+def Fitil(vr,fc,X,Z,x,y,z,zz,xx):
+    k3=z*2
+    vr.extend([[X[x  ]+xx,-z+zz,Z[y  ]+xx],[X[x  ]+xx+k3,-z+zz,Z[y  ]+xx+k3],[X[x  ]+xx+k3,z+zz,Z[y  ]+xx+k3],[X[x  ]+xx,z+zz,Z[y  ]+xx]])
+    vr.extend([[X[x  ]+xx,-z+zz,Z[y+1]-xx],[X[x  ]+xx+k3,-z+zz,Z[y+1]-xx-k3],[X[x  ]+xx+k3,z+zz,Z[y+1]-xx-k3],[X[x  ]+xx,z+zz,Z[y+1]-xx]])
+    vr.extend([[X[x+1]-xx,-z+zz,Z[y+1]-xx],[X[x+1]-xx-k3,-z+zz,Z[y+1]-xx-k3],[X[x+1]-xx-k3,z+zz,Z[y+1]-xx-k3],[X[x+1]-xx,z+zz,Z[y+1]-xx]])
+    vr.extend([[X[x+1]-xx,-z+zz,Z[y  ]+xx],[X[x+1]-xx-k3,-z+zz,Z[y  ]+xx+k3],[X[x+1]-xx-k3,z+zz,Z[y  ]+xx+k3],[X[x+1]-xx,z+zz,Z[y  ]+xx]])
+    n=len(vr)
+    fc.extend([[n-16,n-15,n-11,n-12],[n-15,n-14,n-10,n-11],[n-14,n-13,n- 9,n-10]])
+    fc.extend([[n-12,n-11,n- 7,n- 8],[n-11,n-10,n- 6,n- 7],[n-10,n- 9,n- 5,n- 6]])
+    fc.extend([[n- 8,n- 7,n- 3,n- 4],[n- 7,n- 6,n- 2,n- 3],[n- 6,n- 5,n- 1,n- 2]])
+    fc.extend([[n- 4,n- 3,n-15,n-16],[n- 3,n- 2,n-14,n-15],[n- 2,n- 1,n-13,n-14]])
+    z=0.005
+    vr.extend([[X[x]+xx+k3,-z+zz,Z[y]+xx+k3],[X[x]+xx+k3,-z+zz,Z[y+1]-xx-k3],[X[x+1]-xx-k3,-z+zz,Z[y+1]-xx-k3],[X[x+1]-xx-k3,-z+zz,Z[y]+xx+k3]])
+    vr.extend([[X[x]+xx+k3, z+zz,Z[y]+xx+k3],[X[x]+xx+k3, z+zz,Z[y+1]-xx-k3],[X[x+1]-xx-k3, z+zz,Z[y+1]-xx-k3],[X[x+1]-xx-k3, z+zz,Z[y]+xx+k3]])
+    fc.extend([[n+1,n+0,n+3,n+2],[n+4,n+5,n+6,n+7]])
+def Kapak(vr,fc,X,Z,x,y,z,zz):
+    k2=z*2
+    vr.extend([[X[x  ],-z+zz,Z[y  ]],[X[x  ]+k2,-z+zz,Z[y  ]+k2],[X[x  ]+k2,z+zz,Z[y  ]+k2],[X[x  ],z+zz,Z[y  ]]])
+    vr.extend([[X[x  ],-z+zz,Z[y+1]],[X[x  ]+k2,-z+zz,Z[y+1]-k2],[X[x  ]+k2,z+zz,Z[y+1]-k2],[X[x  ],z+zz,Z[y+1]]])
+    vr.extend([[X[x+1],-z+zz,Z[y+1]],[X[x+1]-k2,-z+zz,Z[y+1]-k2],[X[x+1]-k2,z+zz,Z[y+1]-k2],[X[x+1],z+zz,Z[y+1]]])
+    vr.extend([[X[x+1],-z+zz,Z[y  ]],[X[x+1]-k2,-z+zz,Z[y  ]+k2],[X[x+1]-k2,z+zz,Z[y  ]+k2],[X[x+1],z+zz,Z[y  ]]])
+    n=len(vr)
+    fc.extend([[n-16,n-15,n-11,n-12],[n-15,n-14,n-10,n-11],[n-14,n-13,n- 9,n-10],[n-13,n-16,n-12,n- 9]])
+    fc.extend([[n-12,n-11,n- 7,n- 8],[n-11,n-10,n- 6,n- 7],[n-10,n- 9,n- 5,n- 6],[n- 9,n-12,n- 8,n- 5]])
+    fc.extend([[n- 8,n- 7,n- 3,n- 4],[n- 7,n- 6,n- 2,n- 3],[n- 6,n- 5,n- 1,n- 2],[n- 5,n- 8,n- 4,n- 1]])
+    fc.extend([[n- 4,n- 3,n-15,n-16],[n- 3,n- 2,n-14,n-15],[n- 2,n- 1,n-13,n-14],[n- 1,n- 4,n-16,n-13]])
 def Prs(s):
     if  s.prs=='1':
         s.gen=3;s.yuk=1;s.kl1=5;s.kl2=5;s.fk=2
@@ -117,17 +91,10 @@
         s.gnx0=70
         s.k00 =True;s.k10 =False
         s.mr=False
-def kub(f,y,k,x,l,r,u,d):
-    k=(k*2)+(x*y)
-    if d==1:f.append([  k,   1+k, y+1+k,   y+k])#Alt
-    if u==1:f.append([3+k,   2+k, y+2+k, y+3+k])#Ust
-    if l==1:f.append([1+k,     k,   2+k,   3+k])#Sol
-    if r==1:f.append([y+k, y+1+k, y+3+k, y+2+k])#Sag
-    f.append([   k,   y+k, y+2+k,   2+k])#On
-    f.append([ 3+k, y+3+k, y+1+k,   1+k])#Arka
 def add_object(self, context):
     fc=[];vr=[];kx=[]
-    mx=self.gen;my=self.yuk;k1=self.kl1/100;y=my*4+4;k2=self.kl2/100;k3=self.fk/200
+    mx=self.gen;my=self.yuk;k1=self.kl1/100;y=my*4+4;k2=self.kl2/100;k3=self.fk/200;fr=(k1+k2)*0.5-0.01
+    RES=self.RES
 
     u=self.kl1/100;X=[0,round(u,2)]
     if mx> 0:u+=self.gnx0 /100;X.append(round(u,2));u+=k2;X.append(round(u,2))
@@ -148,124 +115,520 @@
     if my> 4:u+=self.gny4 /100;Z.append(round(u,2));u+=k2;Z.append(round(u,2))
     Z[-1]=Z[-2]+k1
 
-    u=X[-1]/2
+    u = X[-1]/2
+    for i in range(0,len(X)):X[i]-=u
+    kx=[[self.k00,self.k10,self.k20,self.k30,self.k40],
+        [self.k01,self.k11,self.k21,self.k31,self.k41],
+        [self.k02,self.k12,self.k22,self.k32,self.k42],
+        [self.k03,self.k13,self.k23,self.k33,self.k43],
+        [self.k04,self.k14,self.k24,self.k34,self.k44],
+        [self.k05,self.k15,self.k25,self.k35,self.k45],
+        [self.k06,self.k16,self.k26,self.k36,self.k46],
+        [self.k07,self.k17,self.k27,self.k37,self.k47]]
+    cam=[];mer=[];ftl=[];SM=[]
+#VERTICES ------------------------
+    vr.extend([[X[0],-k1/2,Z[0]],[X[0],k1/2,Z[0]]])
+    for x in range(1,len(X)-1):vr.extend([[X[x],-k1/2,Z[1]],[X[x], k1/2,Z[1]]])
+    vr.extend([[X[-1],-k1/2,Z[0]],[X[-1], k1/2,Z[0]]])
+    for z in range(2,len(Z)-2,2):
+        for x in range(0,len(X)):vr.extend([[X[x],-k1/2,Z[z]],[X[x], k1/2,Z[z]]])
+        for x in range(0,len(X)):vr.extend([[X[x],-k1/2,Z[z+1]],[X[x], k1/2,Z[z+1]]])
+    z=len(Z)-2
+    vr.extend([[X[0],-k1/2,Z[z+1]],[X[0], k1/2,Z[z+1]]])
+    ALT=[];UST=[len(vr)-2,len(vr)-1]
+    for x in range(1,len(X)-1):
+        vr.extend([[X[x],-k1/2,Z[z]],[X[x], k1/2,Z[z]]])
+        ALT.extend([len(vr)-2,len(vr)-1])
+    vr.extend([[X[-1],-k1/2,Z[z+1]],[X[-1],k1/2,Z[z+1]]])
+    SON=[len(vr)-2,len(vr)-1]
+#FACES ---------------------------
+    fc.append([0,1,3+mx*4,2+mx*4])
+    FB=[0];FR=[1]
+    for i in range(0,mx*4,4):
+        fc.append([i+3,i+2,i+4,i+5])
+        FB.extend([i+2,i+4])
+        FR.extend([i+3,i+5])
+    FR.append(3+mx*4);FB.append(2+mx*4)
+    FB.reverse()
+    fc.extend([FB,FR])
+    #Yatay
+    Y=(mx*4+4);V=mx*4+2
+    for z in range(0,(my-1)*Y*2,Y*2):
+        fc.extend([[z+Y+1,z+Y,z+Y+4+mx*4,z+Y+5+mx*4],[z+Y+V,z+Y+V+1,z+Y+V+5+mx*4,z+Y+V+4+mx*4]])
+        for i in range(0,mx*4+2,2):fc.extend([[z+i+Y+0,z+i+Y+2,z+i+Y+V+4,z+i+Y+V+2],[z+i+Y  +3,z+i+Y  +1,z+i+Y+V+3,z+i+Y+V+5]])
+        for i in range(0,mx*4-3,4):fc.extend([[z+i+Y+2,z+i+Y+3,z+i+Y  +5,z+i+Y  +4],[z+i+Y+V+5,z+i+Y+V+4,z+i+Y+V+6,z+i+Y+V+7]])
+    #Dikey
+    for Y in range(0,my):    
+        z=Y*(mx*4+4)*2
+        for i in range(0,mx*4+2,4):fc.extend([[z+i+1,z+i+0,z+i+V+2,z+i+V+3],[z+i+3,z+i+1,z+i+V+3,z+i+V+5],[z+i+2,z+i+3,z+i+V+5,z+i+V+4],[z+i+0,z+i+2,z+i+V+4,z+i+V+2]])
+    #Fitil-------------------
+    if self.UST=='1':y1=my
+    else:            y1=my-1
+    for y in range(0,y1):
+        for x in range(0,mx):
+            if  kx[x][y]==True:
+                Kapak(vr,fc,X,Z,x*2+1,y*2+1,k2/2,(k1+k2)*0.5-0.01)
+                Fitil(vr,fc,X,Z,x*2+1,y*2+1,k3,(k1+k2)*0.5-0.01,k2)
+            else:
+                Fitil(vr,fc,X,Z,x*2+1,y*2+1,k3,0,0)
+            m=len(fc);cam.extend([m-1,m-2])
+            ftl.extend([m-3,m-4,m-5,m-6,m-7,m-8,m-9,m-10,m-11,m-12,m-13,m-14])
+    #-----------------------------------------------------
+    if  self.UST=='1':#Duz
+        fc.append([UST[1],UST[0],SON[0],SON[1]])
+        for i in range(0,mx*4,4):
+            fc.append([ALT[i],ALT[i+1],ALT[i+3],ALT[i+2]])
+        ON=[UST[0]]
+        AR=[UST[1]]
+        for i in range(0,len(ALT)-1,2):
+            ON.append(ALT[i  ])
+            AR.append(ALT[i+1])
+        ON.append(SON[0])
+        fc.append(ON)
+        AR.append(SON[1])
+        AR.reverse();fc.append(AR)
+    elif self.UST=='2':#Yay
+        if   self.DT2=='1':
+            H=self.VL1/100
+            if   H<0.01:H=  0.01;self.VL1=1

@@ Diff output truncated at 10240 characters. @@


More information about the Bf-extensions-cvs mailing list