[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