# building-blocks block create command

Syntax

building-blocks block create keyword

Primary keywords:

Create a block or blocks.

from-faces <distance f > range

Create blocks attached to the faces specified by the range. All faces here must be external faces — each face is attached to one block only. New blocks will be “extruded” from the faces along the average face normal. The extruded distance is defined by f. If f is not supplied the default distance will be related to the maximum diagonal extent of a block among all the blocks attached to supplied faces.

hexahedron <by-points v1 v2 v3 v4 v5 v6 v7 v8 > <group s <slot s >>

Create a hexahedral block. by-points, if present, must be followed by points that define the block (a hexahedron requires eight points). The optional keywords group and slot assign the created block to the specified group and slot.

When specifying points, they must be in the correct order. For example, if cp is the center point of the block, and hL is half the length of an edge of the block, points should be specified in this order:
• v1(cp.x - hL, cp.y + hL, cp.z + hL)
• v2(cp.x + hL, cp.y + hL, cp.z + hL)
• v3(cp.x + hL, cp.y + hL, cp.z - hL)
• v4(cp.x - hL, cp.y + hL, cp.z - hL)
• v5(cp.x - hL, cp.y - hL, cp.z + hL)
• v6(cp.x + hL, cp.y - hL, cp.z + hL)
• v7(cp.x + hL, cp.y - hL, cp.z - hL)
• v8(cp.x - hL, cp.y - hL, cp.z - hL)
tetrahedron <by-points v1 v2 v3 v4 > <group s <slot s >>

Create a tetrahedral block. by-points, if present, must be followed by points that define the block (a tetrahedron requires four points). The optional keywords group and slot assign the created block to the specified group and slot.

When specifying points, they must be in the correct order. For example, for a tet with an edge aligned on the X axis, where cp is the center point of the block, hL is half the length of an edge of the block, and sL (strut length) is used to specify the length of an edge not aligned to a cardinal axis (sL = edge length * sqrt(.75)):
• v1(cp.x - hL, cp.y - sL / 2, cp.z - sL / 2)
• v2(cp.x + hL, cp.y - sL / 2, cp.z - sL / 2)
• v3(cp.x, cp.y + sL / 2, cp.z - sL / 2)
• v4(cp.x, cp.y, cp.z + sL / 2)
wedge <by-points v1 v2 v3 v4 v5 v6 > <group s <slot s >>

Create a wedge block. by-points, if present, must be followed by points that define the block (a wedge requires six points). The optional keywords group and slot assign the created block to the specified group and slot.

When specifying points, they must be in the correct order. For example, if cp is the center point of the block, and hL is half the length of an edge of the block, and thL is one-third the length of an edge:
• v1(cp.x - hL, cp.y - hL, cp.z - thL)
• v2(cp.x + hL, cp.y - hL, cp.z - thL)
• v3(cp.x, cp.y - hL, cp.z - thL + edgeLength * sqrt(.75))
• v4(cp.x - hL, cp.y + hL, cp.z - thL)
• v5(cp.x + hL, cp.y + hL, cp.z - thL)
• v6(cp.x, + cp.y + hL, cp.z - thL + edgeLength * sqrt(.75))