Tesselate/extrude script (new release : may 31, 2004)

playing with the inserKey() function of the Blender2.28c API.
It seems that it does not work in Blender 2.3/2.31.

http://jmsoler.free.fr/util/blenderfile/tesselate/springtime.AVI
(div5.05)

:o

The blend file of the spring anim:
http://jmsoler.free.fr/util/blenderfile/tesselate/animspring.blend

Jms, thanks for the blend. In line 14 pythonrvk.py you left out the t in
me.insertkey. This may be why it wasn’t working in2.31a. I tried it both with 228c and 2.31a and it worked fine in both after I changed line 14.
Paradox

It worked here too, in Blender 2.31a, after changing line 14.

After I posted the above I went back and discovered that the rvks in the ipo window where already there and you could see the spring action without runing the script by changing the frames. But the very first time I ran the script I got an error which is how I discovered the missing t, which was the main reason I posted before. So is the rvk script linked or was it already run in the blend file?
Paradox

The missing t ! The missing t !The missing t !
Damned!!!
how stupid am i?

jms wrote:

The missing t ! The missing t !The missing t !
Damned!!!
how stupid am i?

It’s always the simple things that slip by us sometimes. As for stupid, I’d say not very, in fact pretty smart judging by the great scripts and work you do. Thanks for all your work that you share.

Paradox

blender.inserT()

:stuck_out_tongue:

Martin

import Blender
from Blender import NMesh
me=NMesh.GetRaw('RVK1')
mrvk2=NMesh.GetRaw('RVK2')
print dir(me.insertKey)
print me.insertKey.__doc__
for v in mrvk2.verts:
     i= mrvk2.verts.index(v)
     v1=me.verts[i]
     for n in range(len(v.co)):
          v1.co[n]=v.co[n]
me.update()
me.insertKey() 
## manquait le t !!, on peut aussi écrire me.insertKey(30) ou 
## me.insertKey(30, 'absolute')
me.update() 

Just a Bevel test with the “chanfrein” function :
http://jmsoler.free.fr/didacticiel/blender/tutor/images/python/tesselate/tesselatemethod.jpg

(the “chanfrein”, alias chamfered edge method was added last wednesday)

Does it join the vertice correctly if the bevel is bigger than the face?

Martin

You mean : if thickness is larger than 1.0 ?

a thickness larger than 1.0 gives strange shapes:
http://jmsoler.free.fr/didacticiel/blender/tutor/images/python/tesselate/chanfreinspecial.jpg

(here with some subsurfs to show that vertices are correctly connected)

with random values:
http://jmsoler.free.fr/didacticiel/blender/tutor/images/python/tesselate/chanfreinrandom.jpg

I practicly finish developping my algo to fix that, I could send it to you when I’m finished with it.

Martin

I do not see the problem or the error you are fixing.

My bad. I was under the impression that your implementation was more like a bevel function which keeps a specified bevel width all over the mesh, which indeed causes face wraping when the faces are smaller than the sum of both side of the bevel. With your proportional scaling method, you won’t have that problem.

Here’s a screenshot of the results of both method on the same mesh:

http://www.clubinfo.bdeb.qc.ca/~theeth/Temp/Comparaison.jpg

Martin
PS: This is a very WIP development done by intrr and myself, so please don’t go around asking when it will be released.

The bevelling in tesselate is just a “workaround” to use the code yet written.
You are right about the method : it works with a percentage of the face . 100% of the face no bevel, 0% of the face no face. 200%, funny results.

http://jmsoler.free.fr/util/blenderfile/tesselate/tesselate8_8b.zip