Skip to content

Instantly share code, notes, and snippets.

@zeffii
Forked from anonymous/jummble.py
Created December 22, 2014 17:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zeffii/a2ed0ab97e8144097dfa to your computer and use it in GitHub Desktop.
Save zeffii/a2ed0ab97e8144097dfa to your computer and use it in GitHub Desktop.
import bpy
from mathutils import Matrix, Vector
def make_obj(verts, faces, name_mesh, name_object, matrix, use_matrix_local=False):
mesh_data = bpy.data.meshes.new(name_mesh)
mesh_data.from_pydata(verts, [], faces)
mesh_data.update()
_object = bpy.data.objects.new(name_object, mesh_data)
scene = bpy.context.scene
scene.objects.link(_object)
if use_matrix_local:
_object.matrix_local = matrix
else:
for v in _object.data.vertices:
v.co = matrix * v.co
_object.select = True
faces = [
[4, 9, 5, 0], [3, 8, 9, 4], [1, 6, 7, 2], [0, 5, 6, 1],
[14, 10, 15, 19], [13, 14, 19, 18], [11, 12, 17, 16], [10, 11, 16, 15],
[2, 7, 17, 12], [8, 3, 13, 18], [5, 9, 19, 15], [9, 8, 18, 19],
[7, 6, 16, 17], [6, 5, 15, 16], [4, 0, 10, 14], [3, 4, 14, 13],
[1, 2, 12, 11], [0, 1, 11, 10]]
matrix = Matrix((
Vector((-8.180699637705402e-07, -0.9997419118881226, 0.022718962281942368, -0.3149009048938751)),
Vector((-2.0309057617851067e-06, -0.022718962281942368, -0.9997419118881226, 1.9882060289382935)),
Vector((1.0, -8.639988777758845e-07, -2.011795913858805e-06, 2.0)),
Vector((0.0, 0.0, 0.0, 1.0))
))
verts = [
(1.2355599210422952e-08, 2.5331974029541016e-06, 0.008681532926857471),
(-5.960487214906607e-09, -0.26104986667633057, 0.02579176053404808),
(-5.960487214906607e-09, -0.5062174201011658, 0.07455870509147644),
(5.231795441318354e-08, 0.5062174797058105, 0.07455730438232422),
(2.3841835172788706e-08, 0.2610493302345276, 0.025791045278310776),
(-3.441232365730684e-08, 2.5968843146984e-06, -0.09131837636232376),
(-5.364415756048402e-08, -0.27410241961479187, -0.07335258275270462),
(-5.364415756048402e-08, -0.5315283536911011, -0.022147277370095253),
(7.548215386066204e-09, 0.5315283536911011, -0.022148676216602325),
(-2.2351741790771484e-08, 0.27410173416137695, -0.07335329800844193),
(0.9750000238418579, 2.475631390552735e-06, 0.00868106447160244),
(0.9750000238418579, -0.26104992628097534, 0.025791293010115623),
(0.9750000238418579, -0.5062174797058105, 0.07455824315547943),
(0.9750000238418579, 0.5062174201011658, 0.07455683499574661),
(0.9750000238418579, 0.2610492706298828, 0.02579057775437832),
(0.9749999642372131, 2.5393183022970334e-06, -0.09131884574890137),
(0.9749999642372131, -0.27410247921943665, -0.07335305213928223),
(0.9749999642372131, -0.5315284132957458, -0.02214774489402771),
(0.9750000238418579, 0.5315282940864563, -0.022149143740534782),
(0.9750000238418579, 0.2741016745567322, -0.07335376739501953)
]
make_obj(verts, faces, 'name_mesh1', 'name_object1', matrix, use_matrix_local=False)
make_obj(verts, faces, 'name_mesh2', 'name_object2', matrix, use_matrix_local=True)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment