This repository has been archived on 2023-10-09. You can view files and clone it, but cannot push or open issues or pull requests.
Files
blender-archive/source/blender/python/api2_2x/doc/MeshPrimitives.py
Ken Hughes 48033e00c4 ===Python API===
Fulfilling a very old feature request: a new Mesh Primitives module is
introduced, which gives script writers access to the Blender mesh datablocks
created from the "Add->Mesh" menu.  You can now do this:

  from Blender import *

  me = Mesh.Primitives.UVsphere(10,20,3) # 10 segments, 20 rings, diameter 3
  ob = Object.New('Mesh','mySphere')
  ob.link(me)
  sc = Scene.GetCurrent()
  sc.link(ob)
2006-05-25 16:45:24 +00:00

161 lines
5.0 KiB
Python

# Blender.Mesh.Primitives module
"""
The Blender.Mesh.Primitives submodule.
B{New}:
Mesh Primitive Data
===================
This submodule provides access Blender's mesh primitives. Each module
function returns a BPy_Mesh object which wraps the mesh data. This data can
then be manipulated using the L{Mesh} API.
Example::
from Blender import *
me = Mesh.Primitives.Cube(2.0) # create a new cube of size 2
ob = Object.New('Mesh') # create a new mesh-type object
ob.link(me) # link mesh datablock with object
sc = Scene.GetCurrent() # get current scene
sc.link(ob) # add object to the scene
Window.RedrawAll() # update windows
"""
def Plane(size=2.0):
"""
Construct a filled planar mesh with 4 vertices. The default size
creates a 2 by 2 Blender unit plane, identical to the Blender UI.
@type size: float
@param size: optional size of the plane.
@rtype: L{BPy_Mesh<Mesh>}
@return: returns a mesh object.
"""
def Cube(size=2.0):
"""
Construct a cube mesh. The default size creates a cube with each face
2 by 2 Blender units, identical to the Blender UI.
@type size: float
@param size: optional size of the cube.
@rtype: L{BPy_Mesh<Mesh>}
@return: returns a mesh object.
"""
def Circle(verts=32,diameter=2.8284):
"""
Construct a circle mesh. The defaults create a circle with a
diameter of 2*sqrt(2) Blender units, identical to the Blender UI.
@type verts: int
@param verts: optional number of vertices for the circle.
Value must be in the range [3,100].
@type diameter: float
@param diameter: optional diameter of the circle.
@rtype: L{BPy_Mesh<Mesh>}
@return: returns a mesh object.
"""
def Cylinder(verts=32, diameter=2.8284, length=1.0):
"""
Construct a cylindrical mesh (ends filled). The defaults create a
cylinder with a diameter of 2*sqrt(2) Blender units and length 1 unit,
identical to the Blender UI.
@type verts: int
@param verts: optional number of vertices in the cylinder's perimeter.
Value must be in the range [3,100].
@type diameter: float
@param diameter: optional diameter of the cylinder.
@type length: float
@param length: optional length of the cylinder.
@rtype: L{BPy_Mesh<Mesh>}
@return: returns a mesh object.
"""
def Tube(verts=32, diameter=2.8284, length=1.0):
"""
Construct a cylindrical mesh (ends not filled). The defaults create a
cylinder with a diameter of 2*sqrt(2) Blender units and length 1 unit, identical
to the Blender UI.
@type verts: int
@param verts: optional number of vertices in the tube's perimeter.
Value must be in the range [3,100].
@type diameter: float
@param diameter: optional diameter of the tube.
@type length: float
@param length: optional length of the tube.
@rtype: L{BPy_Mesh<Mesh>}
@return: returns a mesh object.
"""
def Cone(verts=32, diameter=2.8284, length=1.0):
"""
Construct a conic mesh (ends filled). The defaulte create a cone with a
base diameter of 2*sqrt(2) Blender units and length 1 unit, identical to the Blender
UI.
@type verts: int
@param verts: optional number of vertices in the cone's perimeter.
Value must be in the range [3,100].
@type diameter: float
@param diameter: optional diameter of the cone.
@type length: float
@param length: optional length of the cone.
@rtype: L{BPy_Mesh<Mesh>}
@return: returns a mesh object.
"""
def Grid(xres=32, yres=32, size=2.0):
"""
Construct a grid mesh. The defaults create a 32 by 32 mesh of size 2
Blender units, identical to the Blender UI.
@type xres: int
@param xres: optional grid size in the x direction.
Value must be in the range [2,100].
@type yres: int
@param yres: optional grid size in the y direction.
Value must be in the range [2,100].
@type size: float
@param size: optional size of the grid.
@rtype: L{BPy_Mesh<Mesh>}
@return: returns a mesh object.
"""
def UVsphere(segments=32, rings=32, diameter=2.8284):
"""
Construct a UV sphere mesh. The defaults create a 32 by 32 sphere with
a diameter of 2*sqrt(2) Blender units, identical to the Blender UI.
@type segments: int
@param segments: optional number of longitudinal divisions.
Value must be in the range [3,100].
@type rings: int
@param rings: optional number of latitudinal divisions.
Value must be in the range [3,100].
@type diameter: float
@param diameter: optional diameter of the sphere.
@rtype: L{BPy_Mesh<Mesh>}
@return: returns a mesh object.
"""
def Icosphere(subdivisions=2, diameter=2.82824):
"""
Construct a Icosphere mesh. The defaults create sphere with 2 subdivisions
and diameter of 2*sqrt(2) Blender units, identical to the Blender UI.
@type subdivisions: int
@param subdivisions: optional number of subdivisions.
Value must be in the range [2,5].
@type diameter: float
@param diameter: optional diameter of the sphere.
@rtype: L{BPy_Mesh<Mesh>}
@return: returns a mesh object.
"""
def Monkey():
"""
Construct a Suzanne mesh.
@rtype: L{BPy_Mesh<Mesh>}
@return: returns a mesh object.
"""