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
10cm 5cm 7.07cm Custom text 12.23cm
An example of the different dimensinon macros
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()
  .curve(points.DCp1, points.A, points.A)

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


npm install @freesewing/plugin-dimension


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: