[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2758] branches/geodesic_domes/ geodesic_domes: files to generate a ShapeKey are removed
Peter K.H. Gragert
pkhgragert at gmail.com
Fri Dec 9 15:02:17 CET 2011
Revision: 2758
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2758
Author: pkhg
Date: 2011-12-09 14:02:13 +0000 (Fri, 09 Dec 2011)
Log Message:
-----------
files to generate a ShapeKey are removed
UI cleaned a bit
general cleanup (what is clear now done)
Modified Paths:
--------------
branches/geodesic_domes/geodesic_domes/add_shape_geodesic.py
branches/geodesic_domes/geodesic_domes/third_domes_panel.py
Modified: branches/geodesic_domes/geodesic_domes/add_shape_geodesic.py
===================================================================
--- branches/geodesic_domes/geodesic_domes/add_shape_geodesic.py 2011-12-09 13:16:43 UTC (rev 2757)
+++ branches/geodesic_domes/geodesic_domes/add_shape_geodesic.py 2011-12-09 14:02:13 UTC (rev 2758)
@@ -6,6 +6,7 @@
ob.matrix_local = m
def func_add_corrective_pose_shape_fast(source, target):
+ result = ""
reset_transform(target)
# If target object doesn't have Basis shape key, create it.
try:
@@ -30,12 +31,17 @@
target.active_shape_key.vertex_group = ''
except:
print("blub")
+ result = "***ERROR*** blub"
pass
# copy the local vertex positions to the new shape
verts = source.data.vertices
- for n in range( len(verts)):
- shape_key_verts[n].co = verts[n].co
+ try:
+ for n in range( len(verts)):
+ shape_key_verts[n].co = verts[n].co
# go to all armature modifies and unpose the shape
+ except:
+ message = "***ERROR***, meshes have different number of vertices"
+ result = message
for n in target.modifiers:
if n.type == 'ARMATURE' and n.show_viewport:
#~ print("got one")
@@ -51,10 +57,12 @@
try:
target.active_shape_key.vertex_group = vgroup
except:
- #~ print("bluba")
+ print("bluba")
+ result = result + "bluba"
pass
target.show_only_shape_key = False
target.data.update()
+ return result
class add_corrective_pose_shape_fast(bpy.types.Operator):
'''Adds 1st object as shape to 2nd object as pose shape (only 1 armature)'''
Modified: branches/geodesic_domes/geodesic_domes/third_domes_panel.py
===================================================================
--- branches/geodesic_domes/geodesic_domes/third_domes_panel.py 2011-12-09 13:16:43 UTC (rev 2757)
+++ branches/geodesic_domes/geodesic_domes/third_domes_panel.py 2011-12-09 14:02:13 UTC (rev 2758)
@@ -1,4 +1,5 @@
import bpy
+import os
from geodesic_domes import vefm_259
from geodesic_domes import forms_259
from geodesic_domes import geodesic_classes_259
@@ -14,9 +15,6 @@
print("add breakpoint addon!")
-#not needed 22-11 PKHG
-#def get_name_selected(value, dictionary):
-# return dictionary[value]
########global######
last_generated_object = None
last_imported_mesh = None
@@ -24,10 +22,12 @@
imported_hubmesh_to_use = None
########global end######
########FOR SHAPEKEYS###
+
bpy.types.Scene.instant_filenames = StringProperty(name = "saved files",\
description = "filenames of saved goedesics",\
- default = "c://tmp//tmp_geodesic0.txt")
-def write_object(filename = "c://tmp//tmp_geodesic"):
+ default = "tmp_geodesic0.txt")
+
+def write_object(filename = "tmp_geodesic"):
file = open(filename, "w", encoding="utf8", newline="\n")
fw = file.write
me_verts = bpy.context.active_object.data.vertices
@@ -45,7 +45,7 @@
fw("]\n")
file.close()
-def read_file(filename = "c://tmp//tmp_geodesic0.txt"):
+def read_file(filename = "tmp_geodesic0.txt"):
file = open(filename, "r", newline="\n")
l0 = file.readline()
while l0[0] != 'v':
@@ -69,7 +69,7 @@
def vefm_add_object_direct(verts,faces):
from add_utils import AddObjectHelper, add_object_data
e = []
- m = bpy.data.meshes.new(name= "TWEST")
+ m = bpy.data.meshes.new(name= "ShapeKey")
m.from_pydata(verts, e, faces )
m.validate(verbose = False)
add_object_data(bpy.context, m, operator = None)
@@ -95,58 +95,45 @@
bpy.types.Scene.geodesic_not_yet_called = BoolProperty(name="geodesic_not_called",default = True)
-#class Geodesic_Domes_Operator_Panel(bpy.types.Operator):
class Geodesic_Domes_Operator_Panel(bpy.types.Panel):
"""start a GD object here"""
bl_label = "Geodesic Domes"
-# bl_idname = "mesh.geodesicmain"
bl_region_type = "TOOLS" #UI possible too
bl_space_type = "VIEW_3D"
-# bl_options = {'REGISTER','UNDO'}
def draw(self,context):
sce = context.scene
layout = self.layout
col = layout.column()
- col.label("make shapkey object")
- files = sce.instant_filenames.split(";")
- for el in files:
- col.label(el)
- col.operator(make_shapekey.bl_idname,"make shapkey object") #object.make_shapekey
+ col.label("available after two saves")
+ col.operator(make_shapekey.bl_idname,"make shapekey object")
+ col.label("To start an GD object: ")
col.operator(GenerateGeodesicDome.bl_idname,"execute me!")
-
- '''
- if context.scene.error_message == "":
- col.label("No ERROR at this moment")
- else:
- tmp = context.scene.error_message.split("\n")
- for el in tmp:
- col.label(el)
- #'''
-
+
class GenerateGeodesicDome(bpy.types.Operator):
bl_label = "Modify Geodesic Objects"
bl_idname = "mesh.generate_geodesic_dome"
bl_description = "Create object dependent on selection"
bl_options = {'REGISTER','UNDO'}
+
#PKHG for shapkeys try to make a copy of the actual object!
instant_copy = BoolProperty(name = "Instant Copy", description = "copy THIS object",\
- default = False)
+ default = False)
instant_copy_filename = StringProperty(name = "prefix temp. filename", \
description = "needed to save inbetween mesh for shapekeys",\
- default = "c://tmp//tmp_geodesic")
- instant_copy_counter = IntProperty(name = "tmp counter",
- description = "to save several files" , default = 0)
+ default = "tmp_geodesic")
+ instant_copy_counter = IntProperty(name = "tmp counter",min = 0,\
+ description = "to save several files", max = 5, default = 0)
mainpages = EnumProperty(
name="Menu",
description="Create Faces, Struts & Hubs",
items=[("Main","Main","Geodesic objects"),
-#PKHG_DIFFERENTLY_DONE ("Formula","Formula","Formula Panel"),
("Faces","Faces","Generate Faces"),
("Struts","Struts","Generate Struts"),
("Hubs","Hubs","Generate Hubs"),
("Help","Help","Not implemented"),
+ ("ShapeKey","ShapeKey","Generate ShapeKeyObject")
],
default='Main')
@@ -190,7 +177,6 @@
("Torus","Torus","Generate Torus"),
("Sphere","Sphere","Generate Sphere"),
("Import your mesh","Import your mesh","Import Your Mesh"),
-# ("7","Apply Sform","Super parameters"),
],
default='Geodesic')
@@ -206,8 +192,6 @@
],
default='Tetrahedron')
-
-
orientation = EnumProperty(
name="Point^",
description="Point (Vert), Edge or Face pointing upwards",
@@ -314,7 +298,6 @@
description = "use with superformular v", default = 0 )
#Sphere
-#PKHG_NOT_USED? bradius= FloatProperty(name="bradius", min = 0.001, default = 1 )
bures= IntProperty(name="Resolution x/y", min = 3, max = 32,\
description = "number of faces around x/y", default = 8 )
bvres= IntProperty(name="Resolution z", min = 3, max = 32,\
@@ -342,7 +325,7 @@
description = "x size", default = 2.0)
grysz = FloatProperty(name="Y size",min = 1, soft_min=0.01, soft_max=5, max = 10,\
description = "y size", default = 1.0)
-#for ???
+
#PKHG_TODO_??? what means cart
cart = IntProperty(name = "cart",min = 0, max = 2, default = 0)
@@ -364,6 +347,7 @@
description = "rotate superelipse action in x/y", default = 0 )
rotz = FloatProperty(name="Rotate z", min= -4, max = 4,\
description = "rotate superelipse action in z", default = 0 )
+
#for choice of superformula
uact = BoolProperty(name = 'superformula u (x/y)', description = "activate superformula u parameters", default = False)
vact = BoolProperty(name = 'superformula v (z)', description = "activate superformula v parameters", default = False)
@@ -405,7 +389,6 @@
struttype= IntProperty(name="struttype", default= 0)
struttoggle = BoolProperty(name="struttoggle", default = False )
strutimporttoggle= BoolProperty(name="strutimporttoggle", default = False )
-#26-11 ??? strut_base_mesh = StringProperty(name = "
strutimpmesh= StringProperty(name="strutimpmesh", default = "None")
strutwidth= FloatProperty(name="strutwidth", min = -10, soft_min = 5, soft_max = 5, max = 10, default = 1 )
swtog= BoolProperty(name="swtog", default = False )
@@ -439,12 +422,11 @@
sce = context.scene
layout = self.layout
row = layout.row()
- row.label("to save a copy NOW:")
+ row.label("to save NOW:")
row.prop(self,'instant_copy')
+ row.label("next one = " + str(self.instant_copy_counter))
row = layout.row()
- row.prop(self,"instant_copy_counter")
- row.prop(self,"instant_copy_filename")
-
+ row.prop(self,"instant_copy_filename")
col = layout.column()
col.prop(self,"mainpages")
which_mainpages = self.mainpages
@@ -511,26 +493,8 @@
row = layout.row()
row.prop(self, "vgap")
row = layout.row()
-# row.prop(self, "uphase")
-# row = layout.row()
-# row.prop(self, "vphase")
-# row = layout.row()
-# row.prop(self, "uexp")
-# row = layout.row()
-# row.prop(self, "vexp")
-# row = layout.row()
-# row.prop(self, "usuper")
-# row = layout.row()
-# row.prop(self, "vsuper")
-# row = layout.row()
-# row.prop(self, "utwist")
-# row = layout.row()
-# row.prop(self, "vtwist")
-# row = layout.row()
elif tmp == 'Sphere':
col.label("Sphere Parameters")
-#??? row = layout.row()
-#PKHG_NOT_USED??? row.prop(self, "bradius")
row = layout.row()
row.prop(self,"bures")
row = layout.row()
@@ -584,9 +548,6 @@
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list