Blockbench Modeling
Build 3D models using cubes and meshes in Blockbench.
Available Tools
Cube Tools
| Tool |
Purpose |
place_cube |
Create cubes with position, size, texture |
modify_cube |
Edit cube properties (position, rotation, UV, etc.) |
Mesh Tools
| Tool |
Purpose |
place_mesh |
Create mesh with vertices |
create_sphere |
Create sphere mesh |
create_cylinder |
Create cylinder mesh |
extrude_mesh |
Extrude faces/edges/vertices |
subdivide_mesh |
Add geometry detail |
select_mesh_elements |
Select vertices/edges/faces |
move_mesh_vertices |
Move selected vertices |
delete_mesh_elements |
Remove geometry |
merge_mesh_vertices |
Weld nearby vertices |
create_mesh_face |
Create face from vertices |
knife_tool |
Cut edges into faces |
Element Tools
| Tool |
Purpose |
add_group |
Create bone/group |
list_outline |
View model hierarchy |
duplicate_element |
Copy elements |
rename_element |
Rename elements |
remove_element |
Delete elements |
Cube Modeling
Place a Cube
place_cube: elements=[{
name: "body",
from: [-4, 0, -2],
to: [4, 12, 2]
}], faces=true # Auto UV
Place Multiple Cubes
place_cube: elements=[
{name: "head", from: [-4, 12, -4], to: [4, 20, 4]},
{name: "arm_left", from: [4, 4, -1], to: [6, 12, 1]},
{name: "arm_right", from: [-6, 4, -1], to: [-4, 12, 1]}
], group="body"
Modify Cube
modify_cube: id="body", rotation=[0, 45, 0], origin=[0, 6, 0]
Cube with Texture
place_cube: elements=[{name: "block", from: [0,0,0], to: [16,16,16]}],
texture="stone", faces=true
Mesh Modeling
Create Sphere
create_sphere: elements=[{
name: "ball",
position: [0, 8, 0],
diameter: 16,
sides: 12
}]
Create Cylinder
create_cylinder: elements=[{
name: "pillar",
position: [0, 0, 0],
diameter: 8,
height: 24,
sides: 12,
capped: true
}]
Extrude Face
select_mesh_elements: mesh_id="pillar", mode="face", elements=["top_face"]
extrude_mesh: mesh_id="pillar", mode="faces", distance=4
Subdivide for Detail
subdivide_mesh: mesh_id="sphere", cuts=2
Move Vertices
select_mesh_elements: mesh_id="mesh1", mode="vertex", elements=["v1", "v2"]
move_mesh_vertices: offset=[0, 2, 0]
Merge Close Vertices
merge_mesh_vertices: mesh_id="mesh1", threshold=0.1
Knife Cut
knife_tool: mesh_id="cube_mesh", points=[
{position: [0, 8, -4]},
{position: [0, 8, 4]}
]
Organization
Create Group Hierarchy
add_group: name="root", origin=[0, 0, 0], rotation=[0, 0, 0]
add_group: name="body", parent="root", origin=[0, 12, 0]
add_group: name="head", parent="body", origin=[0, 24, 0]
Add Cubes to Groups
place_cube: elements=[{name: "torso", from: [-4, 12, -2], to: [4, 24, 2]}],
group="body"
Duplicate Element
duplicate_element: id="arm_left", newName="arm_right", offset=[-8, 0, 0]
View Hierarchy
list_outline # Returns all groups and elements
Common Patterns
Minecraft Character
# Create hierarchy
add_group: name="root", origin=[0, 0, 0]
add_group: name="body", parent="root", origin=[0, 24, 0]
add_group: name="head", parent="body", origin=[0, 24, 0]
add_group: name="arm_left", parent="body", origin=[5, 22, 0]
add_group: name="arm_right", parent="body", origin=[-5, 22, 0]
add_group: name="leg_left", parent="root", origin=[2, 12, 0]
add_group: name="leg_right", parent="root", origin=[-2, 12, 0]
# Add geometry
place_cube: elements=[{name: "head", from: [-4, 24, -4], to: [4, 32, 4]}], group="head"
place_cube: elements=[{name: "body", from: [-4, 12, -2], to: [4, 24, 2]}], group="body"
place_cube: elements=[{name: "arm", from: [-1, 0, -1], to: [1, 10, 1]}], group="arm_left"
place_cube: elements=[{name: "arm", from: [-1, 0, -1], to: [1, 10, 1]}], group="arm_right"
place_cube: elements=[{name: "leg", from: [-2, 0, -2], to: [2, 12, 2]}], group="leg_left"
place_cube: elements=[{name: "leg", from: [-2, 0, -2], to: [2, 12, 2]}], group="leg_right"
Smooth Organic Shape
create_sphere: elements=[{name: "base", position: [0, 8, 0], diameter: 16, sides: 16}]
subdivide_mesh: mesh_id="base", cuts=1
# Select and move vertices to shape
select_mesh_elements: mesh_id="base", mode="vertex"
move_mesh_vertices: offset=[0, 4, 0], vertices=["top_verts"]
Tips
- Use
list_outline to see current model structure
- Set group origins at joint/pivot points for animation
- Use
faces=true for auto UV mapping on cubes
- Create bone hierarchy before adding geometry
- Use
duplicate_element with offset for symmetrical parts
- Mesh editing is more flexible but cubes are simpler for Minecraft-style models