1
0
Fork 0
freesewing/markdown/dev/reference/plugins/dimension/en.md
2021-10-17 18:26:00 +02:00

2.7 KiB

title
dimension

Build-time plugin   License: MIT   Code quality on DeepScan   Open issues tagged pkg:plugin-dimension

The dimension plugin provides the following macros:

  • hd : Adds a horizontal dimension
  • vd : Adds a vertical dimension
  • ld : Adds a linear dimension
  • pd : Adds a dimension along a path
  • rmd : Removes a dimension
  • rmad : Removes all dimensions with a default prefix
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
});

The dimension plugin is part of our plugin-bundle

Installation

npm install @freesewing/plugin-dimension

Usage

Like all build-time plugins, you load them by passing them to the freesewing.Design constructor:

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: