BlockModel

Block model geometry with optional sub-blocks.

First, the orient field defines the position and orientation of a (U, V, W) space relative to the project, which could be just an offset or a full rotation as well. Then the grid field defines the size and number of parent blocks aligned with that space and starting at (0, 0, 0). Sub-blocks can then optionally be added inside those parent blocks using a variety of layouts.

While sub-blocks are supported on tensor grids it isn't a common arrangement and many applications won't load them.

Attribute Locations

  • Vertices puts attribute values on the corners of the parent blocks. If the block count is then there must be values. Ordering increases U first, then V, then W.

  • Blocks puts attribute values on the centroids of the parent block. If the block count is then there must be values. Ordering increases U first, then V, then W.

  • Subblocks puts attribute values on sub-block centroids. The number and values and their ordering matches the parents and corners arrays.

To have attribute values on undivided parent blocks in this mode there must be a sub-block that covers the whole parent block.

Fields

grid: Grid3
Block sizes.
orient: Orient3
Orientation of the block model.
subblocks: Subblocks or null
Optional sub-blocks, which can be regular or free-form divisions of the parent blocks.

Schema

{
  "type": "object",
  "required": [
    "grid",
    "orient",
    "type"
  ],
  "properties": {
    "grid": {
      "$ref": "#/definitions/Grid3"
    },
    "orient": {
      "$ref": "#/definitions/Orient3"
    },
    "subblocks": {
      "anyOf": [
        {
          "$ref": "#/definitions/Subblocks"
        },
        {
          "type": "null"
        }
      ]
    },
    "type": {
      "type": "string",
      "enum": [
        "BlockModel"
      ]
    }
  }
}