Loading [MathJax]/extensions/TeX/AMSsymbols.js

суббота, 24 апреля 2010 г.

Стул в Blender из скрипта на python

Задача
Нарисовать стул в Blender из скрипта на python.
Решение
  1. from Blender import *  
  2.   
  3. # Clean scene  
  4. def newactivescene():  
  5.     sc = Scene.New()  
  6.     oldsc = Scene.GetCurrent()  
  7.     sc.makeCurrent()  
  8.     Scene.Unlink(oldsc)  
  9.     return sc  
  10.   
  11. sc = newactivescene()  
  12.   
  13. # Camera  
  14. camera = Camera.New()  
  15. camob = Object.New('Camera')  
  16. camob.link(camera)  
  17. sc.link(camob)  
  18. camob.setLocation(3.5,-5,5.8)  
  19. camob.setEuler(60*2*3.14/360,0,30*2*3.14/360)  
  20. sc.setCurrentCamera(camob)  
  21.   
  22. # Lamp  
  23. lamp = Lamp.New('Sun')  
  24. lampob = Object.New('Lamp')  
  25. lampob.link(lamp)  
  26. sc.link(lampob)  
  27. lampob.setLocation(2,-2.5,7)  
  28. lampob.setEuler(60*2*3.14/360,0,30*2*3.14/360)  
  29.   
  30. # Legs height, weight  
  31. height = 1.9  
  32. weight = 1.8  
  33. # Legs  
  34. sc.objects.new(Mesh.Primitives.Cylinder(100,0.5,height)).\  
  35. setLocation(-weight/2,weight/2,height/2)  
  36. sc.objects.new(Mesh.Primitives.Cylinder(100,0.5,height)).\  
  37. setLocation(weight/2,weight/2,height/2)  
  38. sc.objects.new(Mesh.Primitives.Cylinder(100,0.5,height)).\  
  39. setLocation(weight/2,-weight/2,height/2)  
  40. sc.objects.new(Mesh.Primitives.Cylinder(100,0.5,height)).\  
  41. setLocation(-weight/2,-weight/2,height/2)  
  42. # Seat  
  43. sc.objects.new(Mesh.Primitives.Plane(weight+0.5)).\  
  44. setLocation(0,0,height)  
  45. # The back of  
  46. ob = sc.objects.new(Mesh.Primitives.Plane(weight+0.5))  
  47. ob.setLocation(0,(weight+0.5)/2,height+(weight+0.5)/2)  
  48. ob.setEuler(90*2*3.14/360,0,0)  
  49.   
  50. Window.RedrawAll()  

воскресенье, 11 апреля 2010 г.

Удаление содержимого html по маркеру в тегах на языке python

Задача
Оставить в строке, содержащей html код, всё кроме содержимого тегов (и самих тегов) помеченных определенным маркером ("ignoremarker").