# How do I create a 10-sided die as one object?

What I'm looking to do is create a 10-sided die, specifically in the shape of a 'pentagonal trapezohedron', i.e., a polyhedron that has 10 kite shaped sides.

With the following link I was able to produce a d4, d6, d8, d12, d20, & d30: How do I create an 8 sided die from one object?

What I'm looking for is something similar for a 10-sided die.

Thanks

Fastest manual method for me so far, can be done under a minute with ease (faster if the settings in operators have been pre-saved):

1. Add a Cone with such settings:

2. Select the base vertices (Z for wireframe mode), move them 1.0 units up in Z, hit . for 3D cursor Pivot center, duplicate all with CtrlD and rotate with R 180°. Remove doubles with W5. This is what you should have:

3. Select every other vertex on the perimeter and the bottom vertex. Move 0.19 units up in Z.

4. Select all faces, hit AltJ to merge to quads. For Max Shape Angle input 50°:

5. Center the thing in object mode with CtrlShiftAltC Origin To Geometry and AltG. You are done with the dice:

• If you choose "Triangle fan" as the base fill type instead of "Nothing" you can even skip the duplicate, rotate and merge steps in 2. Mar 17 '16 at 16:05
• @OliverGiesen very true, so it can be done even faster :) Mar 17 '16 at 17:42

I'm not sure how to model that with the least amount of steps, it might have a simple answer but i've added a solution after the code section anyway.

The wikipedia page of Pentagonal_trapezohedron links to a .wrl file file but Blender fails to import it (for reasons that are not important here). The coordinates in the wrl are enough to build the script below. This could be added to the Mesh Extra objects addon, but for now just run the script from the TextEditor

# be in object mode with nothing selected.

import bpy

Verts = [
0.5257311, 0.381966, 0.8506508,
-0.2008114, 0.618034, 0.8506508,
-0.6498394, 0, 0.8506508,
0.5257311, -1.618034, 0.8506508,
1.051462, 0, -0.2008114,
0.8506508, 0.618034, 0.2008114,
-0.5257311, 1.618034, -0.8506508,
-1.051462, 0, 0.2008114,
-0.8506508, -0.618034, -0.2008114,
0.2008114, -0.618034, -0.8506508,
0.6498394, 0, -0.8506508,
-0.5257311, -0.381966, -0.8506508,
]

Faces = [
3,0,1,2,
0,3,4,5,
1,0,5,6,
2,1,6,7,
3,2,7,8,
4,3,9,10,
5,4,10,6,
7,6,11,8,
3,8,11,9,
10,9,11,6,
]

def deflate(x, stride):
return [x[i: i + stride] for i in range(0, len(x), stride)]

Verts = deflate(Verts, 3)
Faces = deflate(Faces, 4)

mesh = bpy.data.meshes.new("Base_Data")
mesh.from_pydata(Verts, [], Faces)
mesh.update()

obj = bpy.data.objects.new("Pentagonal_Trapezohedron", mesh)

scene = bpy.context.scene
obj.select = True


### Manual way

This is based on trigonometric principles, but not perfect. Blender is an Arts package which only aims to approach visual accuracy not numeric accuracy.

• notice its sides are built using two faces: 1 quad (trapezoid), 1 triangle (isosceles)
• the quads have a long edge and an opposing shorter edge.
• the long edge can be copied and placed at the tip of the short edge to get 1 'terminator' point
• repeat this process on the opposite face to find the 2nd 'terminator'.
• then edge-fill around.
• optional cleanup: Remove Doubles, followed by a Limited dissolve and you'll get nice Kite shaped quads.

The edges in blue above are marked to show that they are the same edge, with the same length.

here's the opposite side using orange to show the corresponding edges:

• Great answer! To nit-pick, the only thing you can improve, is that the manual way brings to faces that aren't 100.00% flat. Oct 25 '15 at 20:41
• @Carlo thanks for pointing that out. I 'll think about a different approach. Oct 26 '15 at 6:52
• @Carlo, perhaps you wish to examine the alternative. I think it doesn't suffer from the same problem. Oct 26 '15 at 8:13
• Thanks, I'll give it a look ASAP. I agree with you in saying that high numerical precision should not be one of Blender's goal. I was amazed by the fact that extruding the faces of the default dodecahedron by 1 unit (not 1.02, or 0.7563..., but a 1.000) would leads to the perfect result. Sadly it was not, but it gets incredibly close to that anyway! Oct 26 '15 at 8:45
• I think it's 0.9822 , but with rounding it's only going to get so close :) Oct 26 '15 at 9:25

Even faster:

0) Assure 3D cursor to (0,0,0) (Shift-C)

1) Add a Cone with 5 sides, depth 2.0, radius 2.25 (+/- to taste) (Shift-A M Y, Open Tool Shelf T)

2) Duplicate it (Shift-D and Enter) and rotate the duplicate 180º around X ( R X 180 Enter )

3) Select the first cone, Add a Boolean Modifier, Intersect the second cone, Apply.

4) Delete the second cone. ( X Enter )

Done.

This is by far the fastest and most accurate method I've found (this is the sixth one!) -- it takes about 30 seconds! Vary the radius on the cone to get more or less sloped faces. 2.25 seems about like a d10.