Module Mesh
source code
The Blender.Mesh submodule.
New:
Mesh Data
This module provides access to Mesh Data objects in Blender.
It differs from the NMesh module by allowing direct access to the
actual Blender data, so that changes are done immediately without need
to update or put the data back into the original mesh. The result is
faster operations with less memory usage. The example below creates a
simple pyramid, and sets some of the face's attributes (the vertex
color):
Example:
from Blender import *
import bpy
editmode = Window.EditMode() # are we in edit mode? If so ...
if editmode: Window.EditMode(0) # leave edit mode before getting the mesh
# define vertices and faces for a pyramid
coords=[ [-1,-1,-1], [1,-1,-1], [1,1,-1], [-1,1,-1], [0,0,1] ]
faces= [ [3,2,1,0], [0,1,4], [1,2,4], [2,3,4], [3,0,4] ]
me = bpy.data.meshes.new('myMesh') # create a new mesh
me.verts.extend(coords) # add vertices to mesh
me.faces.extend(faces) # add faces to the mesh (also adds edges)
me.vertexColors = 1 # enable vertex colors
me.faces[1].col[0].r = 255 # make each vertex a different color
me.faces[1].col[1].g = 255
me.faces[1].col[2].b = 255
scn = bpy.data.scenes.active # link object to current scene
ob = scn.objects.new(me, 'myObj')
if editmode: Window.EditMode(1) # optional, just being nice
Vertices, edges and faces are added to a mesh using the .extend()
methods. For best speed and efficiency, gather all vertices, edges or
faces into a list and call .extend() once as in the above example.
Similarly, deleting from the mesh is done with the .delete() methods
and are most efficient when done once.
|
MCol
This object is four ints representing an RGBA color.
|
|
MVert
This object holds mesh vertex data.
|
|
MVertSeq
This object provides sequence and iterator access to the mesh's
vertices.
|
|
MEdge
This object holds mesh edge data.
|
|
MEdgeSeq
This object provides sequence and iterator access to the mesh's
edges.
|
|
MFace
This object holds mesh face data.
|
|
MFaceSeq
This object provides sequence and iterator access to the mesh's
faces.
|
|
Mesh
This object gives access to mesh data in Blender.
|
Mesh
|
Get(name=None)
Get the mesh data object called name from Blender. |
source code
|
|
Mesh
|
New(name=' Mesh ' )
Create a new mesh data object called name. |
source code
|
|
int
|
Mode(mode=0)
Get and/or set the selection modes for mesh editing. |
source code
|
|
None
|
|
readonly dictionary.
|
AssignModes = { ' REPLACE ' : 1}
The available vertex group assignment modes, used by mesh.assignVertsToGroup().
|
|
EdgeFlags
The available edge flags.
|
readonly dictionary
|
FaceFlags
The available *texture face* (uv face select mode) selection
flags.
|
readonly dictionary
|
FaceModes
The available *texture face* modes.
|
readonly dictionary
|
FaceTranspModes
The available face transparency modes.
|
readonly dictionary
|
Modes
The available mesh modes.
|
readonly dictionary.
|
SelectModes
The available edit select modes.
|
Get the mesh data object called name from Blender.
- Parameters:
name (string) - The name of the mesh data object.
- Returns: Mesh
- If a name is given, it returns either the requested mesh or
None. If no parameter is given, it returns all the meshes in the
current scene.
|
Create a new mesh data object called name.
- Parameters:
name (string) - The name of the mesh data object.
- Returns: Mesh
- a new Blender mesh.
Note:
if the mesh is not linked to an object, its datablock will be
deleted when the object is deallocated.
|
Get and/or set the selection modes for mesh editing. These are the
modes visible in the 3D window when a mesh is in Edit Mode.
- Parameters:
mode (int) - The desired selection mode. See SelectModes
for values. Modes can be combined. If omitted, the selection
mode is not changed.
- Returns: int
- the current selection mode.
Note:
The selection mode is an attribute of the current scene. If the
scene is changed, the selection mode may not be the same.
|
Delete an unused mesh from Blender's database. The mesh must not have
any users (i.e., it must not be linked to any object).
- Parameters:
name (string) - The name of the mesh data object.
- Returns: None
Note:
This function may be a temporary solution; it may be replaced in
the future by a more general unlink function for many datablock
types. Hopefully this will be decided prior to the 2.42 release of
Blender.
|
AssignModes
The available vertex group assignment modes, used by mesh.assignVertsToGroup().
-
ADD: if the vertex in the list is not assigned to the group
already, this creates a new association between this vertex and the
group with the weight specified, otherwise the weight given is added
to the current weight of an existing association between the vertex
and group.
-
SUBTRACT: will attempt to subtract the weight passed from a vertex
already associated with a group, else it does nothing.
-
REPLACE: attempts to replace a weight with the new weight value
for an already associated vertex/group, else it does nothing.
- Type:
- readonly dictionary.
- Value:
-
|
EdgeFlags
The available edge flags.
-
SELECT - selected (deprecated). Use edge.sel attribute
instead.
-
EDGEDRAW - edge is drawn out of edition mode.
-
EDGERENDER - edge is drawn out of edition mode.
-
SEAM - edge is a seam for UV unwrapping
-
FGON - edge is part of a F-Gon.
-
LOOSE - Edge is not a part of a face (only set on leaving
editmode)
-
SHARP - Edge will be rendered sharp when used with the "Edge
Split" modifier.
|
FaceFlags
The available *texture face* (uv face select mode) selection flags.
Note: these refer to TexFace faces, available if mesh.faceUV returns
true.
-
SELECT - selected (deprecated in versions after 2.43, use
face.sel).
-
HIDE - hidden (deprecated in versions after 2.43, use
face.hide).
-
ACTIVE - the active face, read only - Use mesh.activeFace to set.
- Type:
- readonly dictionary
|
FaceModes
The available *texture face* modes. Note: these are only meaningful if
mesh.faceUV returns true, since in Blender this info is stored at the
TexFace (TexFace button in Edit Mesh buttons) structure.
-
ALL - set all modes at once.
-
BILLBOARD - always orient after camera.
-
HALO - halo face, always point to camera.
-
DYNAMIC - respond to collisions.
-
ALPHASORT - game engine sorts these faces only.
-
INVISIBLE - invisible face.
-
LIGHT - dynamic lighting.
-
OBCOL - use object color instead of vertex colors.
-
SHADOW - shadow type.
-
SHAREDVERT - apparently unused in Blender.
-
SHAREDCOL - shared vertex colors (per vertex).
-
TEX - has texture image.
-
TILES - uses tiled image.
-
TWOSIDE - two-sided face.
- Type:
- readonly dictionary
|
FaceTranspModes
The available face transparency modes. Note: these are enumerated
values (enums), they can't be combined (ANDed, ORed, etc) like a bit
vector.
-
SOLID - draw solid.
-
ADD - add to background (halo).
-
ALPHA - draw with transparency.
-
SUB - subtract from background.
-
CLIP - Clipped alpha.
- Type:
- readonly dictionary
|
Modes
The available mesh modes.
-
NOVNORMALSFLIP - no flipping of vertex normals during render.
-
TWOSIDED - double sided mesh.
-
AUTOSMOOTH - turn auto smoothing of faces "on".
-
note: SUBSURF and OPTIMAL have been removed, use Modifiers to
apply subsurf.
- Type:
- readonly dictionary
|
SelectModes
The available edit select modes.
-
VERTEX: vertex select mode.
-
EDGE: edge select mode.
-
FACE: face select mode.
- Type:
- readonly dictionary.
|