> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ploterr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# LineDimension

> A dimension that shows the distance between two points in the model.

## Import

```typescript theme={null}
import { LineDimension } from '@opengeometry/floorkit';
```

**Inheritance:** `extends Line implements IPrimitive`

## Constructor

```typescript theme={null}
constructor(lineDimensionConfig?: LengthDimensionOptions);
```

<ParamField path="lineDimensionConfig.ogid" type="string" />

<ParamField path="lineDimensionConfig.startPoint" type="number[]" required />

<ParamField path="lineDimensionConfig.endPoint" type="number[]" required />

<ParamField path="lineDimensionConfig.color" type="number" required />

<ParamField path="lineDimensionConfig.spacing" type="number" required />

<ParamField path="lineDimensionConfig.label" type="string" required />

<ParamField path="lineDimensionConfig.fontSize" type="number" required />

<ParamField path="lineDimensionConfig.fontColor" type="number" required />

<ParamField path="lineDimensionConfig.font" type="string" />

<ParamField path="lineDimensionConfig.lineWidth" type="number" required />

## Properties

<ResponseField name="ogType" type="string" />

<ResponseField name="subNodes" type="Map<string, THREE.Object3D>" />

<ResponseField name="selected" type="boolean" />

<ResponseField name="edit" type="boolean" />

<ResponseField name="propertySet" type="LengthDimensionOptions" />

<ResponseField name="startPoint" type="Array<number>" />

<ResponseField name="endPoint" type="Array<number>" />

<ResponseField name="spacing" type="number" />

<ResponseField name="lineColor" type="number" />

<ResponseField name="fontSize" type="number" />

<ResponseField name="fontColor" type="number" />

<ResponseField name="font" type="string | undefined" />

<ResponseField name="label" type="string" />

<ResponseField name="lineWidth" type="number" />

## Methods

### setOPConfig

```typescript theme={null}
setOPConfig(config: Partial<LengthDimensionOptions>): void;
```

### getOPConfig

```typescript theme={null}
getOPConfig(): LengthDimensionOptions;
```

### getEditAnchors

```typescript theme={null}
getEditAnchors(): EditAnchor[];
```

Draggable handles: the two measured endpoints (free on their plane) and an `offset` grip that slides perpendicular to set `spacing`.

### applyEditAnchor

```typescript theme={null}
applyEditAnchor(id: string, position: [
    number,
    number,
    number
]): void;
```

### setOPGeometry

```typescript theme={null}
setOPGeometry(): void;
```

### createWitnessLines

```typescript theme={null}
createWitnessLines(): void;
```

### createLabel

```typescript theme={null}
createLabel(position: {
    x: number;
    y: number;
    z: number;
}, angleY: number): void;
```

### setOPMaterial

```typescript theme={null}
setOPMaterial(): void;
```

## Types

### LengthDimensionOptions

The package does not export this type by name.

```typescript theme={null}
interface LengthDimensionOptions {
  ogid?: string;
  startPoint: Array<number>;
  endPoint: Array<number>;
  color: number;
  spacing: number;
  label: string;
  fontSize: number;
  fontColor: number;
  font?: string;
  lineWidth: number;
}
```

## Related

* [`EditAnchor`](/floorkit/api/architecture/op-element#editanchor)
* [`IPrimitive`](/floorkit/api/primitives/line-primitive#iprimitive)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.