Schemas / CAD / solids

rig.cad.reference_line

v0.31.0 · draft 4 fields 0 required

Fields

FieldTypeMeaning
origin vec3 optional Optional. Absent = 0,0,0. A point the line passes through
direction vec3 optional Optional. Absent = 1,0,0. Which way the line runs; need not be unit length
a entity optional Optional. Anchor entity. With b, derives the line from the two entities
b entity optional Optional. Second anchor entity. Only read when a is also present

Unbounded straight datum to build against. Format when present.

This is not a solid. Do not put it on the same entity as rig.cad.cuboid / boolean, and never list it in boolean.operands - a datum has no volume to add or subtract.

The line has no ends. origin and direction state where it lies, not how far it goes; a host draws whatever span suits the current view. Reach for rig.geometry.line when the endpoints are the point of the thing.

When a and b are both present they are the placement: the line passes through a and runs toward b, and origin / direction are ignored. That way the datum tracks its parts when the model rebuilds. A host that cannot resolve either entity ignores the component rather than falling back to the coordinates. direction (or a coincident a and b) of zero length is ignored the same way.

Give the datum a readable label with rig.meta.named - an axis is a reference line called "axis", not a separate schema id.

JSON Schema

Resolves at https://rig.works/schemas/rig.cad.reference_line.schema.jsonraw file.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://rig.works/schemas/rig.cad.reference_line.schema.json",
  "title": "rig.cad.reference_line",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "origin": {
      "$ref": "./_defs.schema.json#/$defs/vec3"
    },
    "direction": {
      "$ref": "./_defs.schema.json#/$defs/vec3"
    },
    "a": {
      "$ref": "./_defs.schema.json#/$defs/entity"
    },
    "b": {
      "$ref": "./_defs.schema.json#/$defs/entity"
    }
  }
}

Seen in

cad-reference.json