2021-10-17 17:34:55 +02:00
***
## title: dimension
2021-08-25 16:09:31 +02:00
[](/plugins)
2021-10-17 17:34:55 +02:00
2021-08-25 16:09:31 +02:00
[](https://www.npmjs.com/package/@freesewing/plugin -dimension)
2021-10-17 17:34:55 +02:00
[](https://deepscan.io/dashboard#view =project\&tid=2114\&pid=2993\&bid=23256)
2021-08-25 16:09:31 +02:00
[](https://github.com/freesewing/freesewing/issues?q=is%3Aissue+is%3Aopen+label%3Apkg%3Aplugin-dimension)
The **dimension** plugin provides the following [macros ](/plugins#macros ):
2021-10-17 17:34:55 +02:00
* [hd ](/reference/macros/hd/ ) : Adds a horizontal dimension
* [vd ](/reference/macros/vd/ ) : Adds a vertical dimension
* [ld ](/reference/macros/ld/ ) : Adds a linear dimension
* [pd ](/reference/macros/pd/ ) : Adds a dimension along a path
* [rmd ](/reference/macros/rmd/ ) : Removes a dimension
* [rmad ](/reference/macros/rmad/ ) : Removes all dimensions with a default prefix
2021-08-25 16:09:31 +02:00
< Example part = "plugin_dimension" caption = "An example of the different dimensinon macros" design = {false} / >
```js
let { Point, points, Path, paths, macro } = part.shorthand();
points.A = new Point(0, 0);
points.B = new Point(0, 100);
points.C = new Point(50, 100);
points.D = new Point(100, 50);
points.DCp1 = new Point(100, 0);
paths.box = new Path()
.move(points.A)
.line(points.B)
.line(points.C)
.line(points.D)
.curve(points.DCp1, points.A, points.A)
.close();
macro("vd", {
from: points.A,
to: points.B,
x: points.A.x - 15
});
macro("hd", {
from: points.B,
to: points.C,
y: points.B.y + 15
});
macro("ld", {
from: points.C,
to: points.D,
d: -15
});
macro("ld", {
from: points.C,
to: points.D,
d: -30,
text: "Custom text"
});
macro("pd", {
path: new Path().move(points.A).curve(points.A, points.DCp1, points.D),
d: -15
});
```
< Tip >
The dimension plugin is part of our [plugin-bundle ](/reference/plugins/bundle )
< / Tip >
## Installation
```bash
npm install @freesewing/plugin -dimension
```
## Usage
2021-10-17 17:34:55 +02:00
Like all [build-time plugins ](/guides/plugins/#build-time-plugins ), you load them
2021-08-25 16:09:31 +02:00
by passing them to the [`freesewing.Design` ](/reference/api#design ) constructor:
```js
import freesewing from "@freesewing/core ";
import dimension from "@freesewing/plugin -dimension";
import config from "../config";
const Pattern = new freesewing.Design(config, dimension);
```
Now you can use the following macros in your parts:
2021-10-17 17:34:55 +02:00
* [hd ](/reference/macros/hd/ )
* [vd ](/reference/macros/vd/ )
* [ld ](/reference/macros/ld/ )
* [pd ](/reference/macros/pd/ )