Skip to content
Shapemetry

@huukhanhnguyen/model / nodeMethods/annotation

nodeMethods/annotation

BUILTIN_ANNOTATION_STYLE

const BUILTIN_ANNOTATION_STYLE: AnnotationStyle


BUILTIN_TEXT_STYLE

const BUILTIN_TEXT_STYLE: TextStyle


centerMark()

centerMark(center, style?, styles?): CurveData

The cross at a circle's centre. NOT a dimension: it measures nothing, which is why it is plain linework sized by the style's centerMarkSize (DXF's own DIMCEN) rather than a fourth dimension type — that mistake is what forced value/text optional on every dimension until 2026-08-16.

Parameters

center

Point

style?

string = "standard"

styles?

AnnotationStyles

Returns

CurveData


dimensionAngular()

dimensionAngular(vertex, point1, point2, arcPoint, style?, text?, styles?): AngularDimensionData

Parameters

vertex

Point

point1

Point

point2

Point

arcPoint

Point

style?

string = "standard"

text?

string = ""

styles?

AnnotationStyles

Returns

AngularDimensionData


dimensionLinear()

dimensionLinear(point1, point2, linePoint, style?, text?, styles?): LinearDimensionData

Parameters

point1

Point

point2

Point

linePoint

Point

style?

string = "standard"

text?

string = ""

styles?

AnnotationStyles

Returns

LinearDimensionData


dimensionRadial()

dimensionRadial(curve, angle?, style?, text?, styles?): RadialDimensionData

Parameters

curve

ObjectData | ObjectData[]

angle?

number = 45

style?

string = "standard"

text?

string = ""

styles?

AnnotationStyles

Returns

RadialDimensionData


drawAngularDimension()

drawAngularDimension(geometry, styles, override?): { curves: PolyCurve[]; labels: TextEntity[]; }

Parameters

geometry

AngularDimension

styles

AnnotationStyles

override?

text?

string

textPoint?

Point

Returns

{ curves: PolyCurve[]; labels: TextEntity[]; }

curves

curves: PolyCurve[]

labels

labels: TextEntity[]


drawLeader()

drawLeader(geometry, styles, text): { curves: PolyCurve[]; labels: TextEntity[]; }

Parameters

geometry

landing

Point

targets

Point[]

styles

AnnotationStyles

text

string

Returns

{ curves: PolyCurve[]; labels: TextEntity[]; }

curves

curves: PolyCurve[]

labels

labels: TextEntity[]


drawLinearDimension()

drawLinearDimension(geometry, styles, override?): { curves: PolyCurve[]; labels: TextEntity[]; }

The drawn form of a linear dimension.

The dimension LINE is the line through linePoint along the measuring direction; each reference drops a perpendicular onto it. That is why linePoint replaced a signed offset number: the offset's sign only ever meant "which side", which a point states without a convention to remember.

Parameters

geometry

LinearDimension

styles

AnnotationStyles

override?

text?

string

textPoint?

Point

Returns

{ curves: PolyCurve[]; labels: TextEntity[]; }

curves

curves: PolyCurve[]

labels

labels: TextEntity[]


drawRadialDimension()

drawRadialDimension(geometry, styles, override?): { curves: PolyCurve[]; labels: TextEntity[]; }

Parameters

geometry

RadialDimension

styles

AnnotationStyles

override?

text?

string

textPoint?

Point

Returns

{ curves: PolyCurve[]; labels: TextEntity[]; }

curves

curves: PolyCurve[]

labels

labels: TextEntity[]


imageEntity()

imageEntity(url, at?, width?, height?): ObjectData | undefined

Parameters

url

string

at?

Point = ...

width?

number = 80

height?

number = 0

Returns

ObjectData | undefined


leader()

leader(target, landing, text, style?, styles?): LeaderData

Parameters

target

Point

landing

Point

text

string

style?

string = "standard"

styles?

AnnotationStyles

Returns

LeaderData


resolveStyles()

resolveStyles(name, annotationStyles, textStyles): AnnotationStyles

Resolve a style NAME against the document's lanes, falling back to the builtin of the same name. Throws on a name that is neither — a mark drawn with a style nobody declared is a broken drawing, not a default one.

Parameters

name

string

annotationStyles

AnnotationStyle[] | undefined

textStyles

TextStyle[] | undefined

Returns

AnnotationStyles


resolveStylesForMethod()

resolveStylesForMethod(method, name, annotationStyles, textStyles): AnnotationStyles

What the wiring hands a producer. text and centerMark name only ONE of the two lanes, so the other side falls back to its builtin rather than demanding a record the author never had to write.

Parameters

method

string

name

string

annotationStyles

AnnotationStyle[] | undefined

textStyles

TextStyle[] | undefined

Returns

AnnotationStyles


resolveTextStyle()

resolveTextStyle(name, textStyles): TextStyle

Parameters

name

string

textStyles

TextStyle[] | undefined

Returns

TextStyle


textEntity()

textEntity(position, content, width?, style?, styles?): TextData

Text in the XY plane — the authored case. A mark on another plane is produced by transforming this one, which maps normal/xAxis with it.

Parameters

position

Point

content

string

width?

number = 0

style?

string = "standard"

styles?

AnnotationStyles

Returns

TextData


formatDimension

Re-exports formatDimension

Last updated: 📖 5 min readEdit on GitHub