make mesh transformation with armature

hi
I have a model with armature, and I need make the model transformation “real” in a certain frame.

is there way how can I do this?

thx jm

Yup, try http://www.clubinfo.bdeb.qc.ca/~theeth/Apply_def.py .

Edit: Actually, that may not work with the newest version of Blender; I made some changes in mine after I downloaded it. It looks as follows:


"""
Name: Apply_def.py
Creator: Martin "theeth" Poirier
E-mail: [email protected]
Purpose: Apply the deformation of a selected mesh permanently

How: load in Blender and press Alt-P after select the mesh you want to affect.

Modified by Matei.
"""


import sys
import Blender

original = Blender.Object.GetSelected()[0]
mesh = Blender.NMesh.GetRawFromObject(original.name)
final = Blender.NMesh.PutRaw(mesh, str("Deformed " + original.name))
final.setEuler(original.getEuler())
final.setLocation(original.getLocation())

if you really do not want problem , use this script :


#!BPY

""" Registration info for Blender menus: <- these words are ignored
Name: 'FixfromArmature'
Blender: 232
Group: 'Misc'
Tip: 'Fix armature deformation.'
"""
#----------------------------------------------
# jm soler  05/2004 :   'FixfromArmature'
#----------------------------------------------
# Page officielle :
#   http://jmsoler.free.fr/util/blenderfile/py/fixfromarmature.py
# Communiquer les problemes et erreurs sur:
#   http://www.zoo-logique.org/3D.Blender/newsportal/thread.php?group=3D.Blender
#--------------------------------------------- 

import Blender
try:
  Ozero=Blender.Object.GetSelected()[0]
  nomdelobjet=Ozero.getName()
  Mesh=Blender.NMesh.GetRawFromObject(nomdelobjet)
  Obis = Blender.Object.New ('Mesh')
  Obis.link(Mesh)
  Obis.setSize(Ozero.getSize())
  Obis.setEuler(Ozero.getEuler())
  Obis.setLocation(Ozero.getMatrix()[3][0:3])
  scene = Blender.Scene.getCurrent()
  scene.link (Obis) 
except:
  print "not a mesh or no object selected"

thx

I found your previous help on this forum :slight_smile:

jm