Blender (jusqu'à 2.49)
|
Python
scripts/macro
python
Sélectionne
les segments
(s'il
en existe)
qui
constituent le contour du maillage.
|
|
Sélectionner les contours d'un maillage
rapidement peut être utile pour travailler les valeurs crease/pliage
d'un modificateur Subsurf (voir Figure 1).
Figure 1
Télécharger
un fichier d'exemple
Sur un maillage propre offrant une surface
continue, on peut obtenir le même résultat avec le raccourci
(Ctrl+Maj+Alt+M)
ou l'entrée Non-Manifold
dans le menu Select en mode
Edit. Cependant s'il existe des segments isolés non raccordés
à une face, en mode d'affichage Edge/segment,
seuls ces segments seront repérés (voir Figure 3).
Figure 2
En mode vertex/sommet,
si des segments sont connectés à plus de deux faces les résultats
sont inutilisables(voir Figure 3).
Figure 3
Alors que le script se positionne automatiquement
sur le mode d'affichage adéquat et donne le résultat escompté
(voir Figure 4).
Figure 4
Télécharger
un fichier d'exemple
#!BPY
# """
# Name: 'Select Surface Limits/Borders'
# Blender: 247
# Group: 'Mesh'
# Tooltip: '.'
# """
# -*- coding: Latin-1 -*-
__author__ = 'Jm Soler'
__version__ = '0.0.1 2008/10/06'
__url__ = ["""jms's site,
http://jmsoler.free.fr/didacticiel/blender/tutor/bpy_contour_selection.htm""",
"""Support forum,
http://www.zoo-logique.org/3D.Blender/newsportal/thread.php?group=3D.Blender"""
]
__email__ = ["jms, jmsoler:free.fr"]
__bpydoc__ = """\
"""
from Blender import Mesh, Object, Window
obj = Object.GetSelected()[0]
me=obj.getData(mesh=1)
edge_faces = dict([(ed.key, []) for ed in me.edges])
for f in me.faces:
for key in f.edge_keys:
edge_faces[key].append(f)
Contour=[]
for key, face_users in edge_faces.iteritems():
if len(face_users)==1:
Contour.append(key)
in_editmode = Window.EditMode()
if in_editmode: Window.EditMode(0)
Mesh.Mode(Mesh.SelectModes.EDGE)
liste_segmentw=[ed.key for ed in me.edges]
for key in Contour:
me.edges[liste_segmentw.index(key)].sel=1
if in_editmode: Window.EditMode(1)
|
Les questions concernant cette page
peuvent être posées sur :
news://news.zoo-logique.org/3D.Blender
|